如何知道android中选择了哪个列表视图项?
我的活动中有2个listview,我希望使用adapter in adapter类突出显示正在选择的项目(如何知道android中选择了哪个列表视图项?,android,listview,android-listview,Android,Listview,Android Listview,我的活动中有2个listview,我希望使用adapter in adapter类突出显示正在选择的项目(一次从两个列表中选择一个项目),因此默认情况下,我只希望选择一个列表视图项目,即第一个列表视图项目,并且根据单击listview时突出显示的内容也应更改,在listview上,第一个项目在开始时高亮显示,在项目上单击“高亮显示”更改为“精细” 我的问题是,当我在第一个listview中单击时,scond listview项不应高亮显示,但它被高亮显示为什么 以下是我的实现: 我已经为两个li
一次从两个列表中选择一个项目
),因此默认情况下,我只希望选择一个列表视图项目,即第一个列表视图项目,并且根据单击listview时突出显示的内容也应更改,在listview上,第一个项目在开始时高亮显示,在项目上单击“高亮显示”更改为“精细”
我的问题是,当我在第一个listview中单击时,scond listview项不应高亮显示,但它被高亮显示为什么
以下是我的实现:
我已经为两个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);
........
});
您正在使用项目位置来检查要突出显示的内容,如果您这样做,您也将突出显示列表2中相同位置的项目;尝试使用项目id而不是位置(显然还有更多的工作要做),或者为列表使用两个不同的适配器
您可以发布两个列表的全部代码,包括适配器吗?不会,因为我给出的条件是,它正在检查定义它是哪个列表视图的
类型
if (position == mSelectedItem && choice.equals("Strintype")) {
tv.setTextColor(getContext().getResources().getColor(R.color.primary_dark));
} else if (choice.equals("Stringtype")) {
tv.setTextColor(Color.BLACK);
}