无法在垂直和水平listview适配器中识别onItemClickListener

时间:2015-01-20 08:11:06

标签: onitemclicklistener

我制作了垂直列表视图,其中包含每行中的水平列表视图,我想实现一个事件,当我点击一个项目时,我可以在行的末尾添加新项目。

为此,我尝试通过ArrayList>管理项目。我在垂直适配器的getView方法中添加了setOnItemClickListener。它没有用!实际上它很少有用......(当我点击大约20次时,它可以工作一次。)

我在xml布局中尝试了不可点击且不可聚焦的属性但不起作用。

请高兴我......这是我的代码

MainActivity中的

我像这样使用VerticalAdapter。我将totallist设置为VerticalAdpater的参数

verListAdapter = new VerticalAdapter(getActivity(), R.layout.schedule_routine, TotalList);
listview.setAdapter(verListAdapter);

public View getView(int position, View convertView, ViewGroup parent) {
    View rowView;

    this.aposition = position;

    rowView = LayoutInflater.from(getContext()).inflate(R.layout.part_list_item, null);
    hListView = (HorizontialListView) rowView.findViewById(R.id.hlistview);
    tv_info = (TextView) rowView.findViewById(R.id.tv_infoitem);
    tv_info.setText(Integer.toString(position));

    hListView.setOnItemClickListener(new OnItemClickListener(){ 
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int iposition, long id) {
            tv_info.setText("hello");

            PartContent temp_part = new PartContent("part", R.drawable.plus);
            PartContent temp_base_part = new PartContent("part", R.drawable.dumb);

            if(iposition == (totallist.get(aposition).size()) - 1) {                                
                tv_info.setText(Integer.toString(iposition));
                totallist.get(aposition).set(iposition, temp_base_part);
                totallist.get(aposition).add(temp_part);
            }

            HorizontialAdapter hortempAdapter = new HorizontialAdapter(getContext(), R.layout.part_item, getItem(iposition));
            hListView.setAdapter(hortempAdapter);
            hortempAdapter.notifyDataSetChanged();
        }});

    HorizontialAdapter horListAdapter = new HorizontialAdapter(getContext(), R.layout.part_item, totallist.get(position));
    hListView.setAdapter(horListAdapter);

    return rowView;
}

0 个答案:

没有答案