如何知道在android中选择哪个列表视图项?

时间:2015-06-20 14:38:52

标签: android listview android-listview

我的活动中有2个listview,我想在适配器类(one item from the both the list at a time)中使用适配器突出显示正在选择的项目,所以默认情况下我只想选择一个列表视图项,即第一个列表查看项目并根据列表视图上的点击次数突出显示也应该更改,在列表视图中,第一项在开头突出显示,在项目上单击突出显示更改。

我的问题是,当我点击第一个列表视图时,第二个列表视图项目不应该突出显示但是它会被突出显示为什么??

这是我的实施:

我为两个listview

初始化了同一个类的两个适配器变量
ListView list1= (ListView)finViewById(R.id.list1);
CustomListview adapter= new CustomListview(this,item,"type(it is string)")
list1.setAdapter(adapter);
list1.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
adapter.notifyDataSetChanged();
adapter.setSelectedItem(position);
........
});

并且在CustomListView适配器类中我正在执行以下代码和其他代码,即

 if (position == mSelectedItem && choice.equals("Strintype")) {
        tv.setTextColor(getContext().getResources().getColor(R.color.primary_dark));
    } else if (choice.equals("Stringtype")) {
        tv.setTextColor(Color.BLACK);
    }

1 个答案:

答案 0 :(得分:0)

您正在使用项目位置来检查要突出显示的内容,如果您这样做,您还会突出显示列表2中相同位置的项目;尝试使用项目ID而不是位置(显然还有更多的工作要做)或者使用两个不同的适配器作为列表。

您可以发布两个列表的整个代码,包括适配器吗?