2017-05-13 189 views
0

我有一個列表視圖與一些項目。我想知道列表項目點擊。例如,如果我點擊列表視圖項目第一次吐司消息將出現。同樣的項目點擊吐司消息將是你第二次點擊相同的項目。列表視圖項目點擊

最後,我想知道,個人列表視圖項「甚至」點擊和「奇」點擊

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() 
{ public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
     if(firstTime) { 
      firstTime = false; 
      if(count%2==0){ 
       Toast.makeText(getApplicationContext(), "Clicked on Row2nd: " + 
       country.getName(), Toast.LENGTH_LONG).show(); 
       count=0; 
      } 
      else{ 
       Toast.makeText(getApplicationContext(), "Clicked on Row1st: " + 
       country.getName(), Toast.LENGTH_LONG).show(); 
       count=0; 
      } 
     } 
     else{ 
      firstTime=true; 
      Toast.makeText(getApplicationContext(), "Clicked on Row1111: " + 
      country.getName(), Toast.LENGTH_LONG).show(); 
      count=count+1; 

     } 
    } 
}); 
+0

您可以添加變量(說'clickCount')到你的模型,在'listview'使用,每增加一次點擊即可 –

回答

1

您可以添加額外的ArrayList中,將包含每個列表視圖中的項目的計數器。

讓說你有:

ArrayList<String> listViewData = getSomeData(); 
ArrayList<Integer> dataClickCount = new ArrayList<>(); 
for(String item : listViewData) 
{ 
    dataClickCount.add(0); 
} 
在你的聽衆

及更高版本:

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 

    if(dataClickCount.get(posion)%2==0){ 
     Toast.makeText(getApplicationContext(), "Clicked on Row1nd, odd click: " + country.getName(), Toast.LENGTH_LONG).show(); 
     dataClickCount.set(posion,1); 
    } 
    else{ 
     Toast.makeText(getApplicationContext(), "Clicked on Row2st, even click: " + country.getName(), Toast.LENGTH_LONG).show(); 
     dataClickCount.set(posion,0); 
    } 


}}); 
+0

謝謝@regev avraham –

+0

不客氣:)您能否將此答案標記爲已接受? –

+0

你爲什麼不接受我的回答? –