管理ListView中按钮的ClickListener

时间:2016-08-21 06:03:52

标签: android listview android-arrayadapter listviewitem

我有一个自定义ArrayAdapter来显示ListView中的项目。它有一个Button和一个TextView,我希望当按下按钮时,将文本视图的颜色更改为红色,但如果我单击列表中另一项的按钮,除了将项目的文本视图设置为红色外,还会将文本视图的其余项目的颜色设置为原始颜色。

如果我使用android.R.layout.simple_list_item_1作为ListView孩子的布局,会有所不同。我只需要覆盖我的列表setOnItemClickListener,如下所示:

myList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            TextView tv1 = (TextView)view;
            if(tv1.getCurrentTextColor() != Color.RED){
                for(int i = 0; i < myList.getChildCount(); i++){
                  TextView tv2 = (TextView)myList.getChildAt(i);
                    tv2.setTextColor(tv1.getCurrentTextColor());
                }
                tv1.setTextColor(Color.RED);
            }
        }
    });

但是,由于我使用自定义布局(也是自定义适配器),我不知道在OnItemClick()方法或getView()方法中应该如何以及在何处管理它我的自定义适配器。

0 个答案:

没有答案