2017-05-13 190 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

你为什么不接受我的回答? –