2015-06-20 78 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

相關問題