2015-06-20 51 views
0

我在我的活动中有2个listview,我想突出显示使用适配器类中的适配器(one item from the both the list at a time)选择的项目,所以默认情况下,我只想要选择一个列表视图项目,即第一个列表视图项目,并基于在列表视图的突出显示的点击也应该改变,在列表视图上的第一个项目被突出显示在开始和项目点击突出显示变化罚款。如何知道在Android中选择哪个列表视图项目?

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

这是我实现:

我已经初始化同一类的两个适配器变量两个列表视图

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); 
    } 

回答

0

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

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

+0

它不会因为我给它的条件,它检查定义哪个列表视图的“类型” – silverFoxA

+0

上面提到了所需的代码 – silverFoxA

相关问题