2同一活动中的ListViews

Mil*_*Way 1 xml android listview onclick

如果我在一个活动中有2个或更多列表视图,那么我该如何使用onclicklistener?我的意思是如何知道用户点击哪一个?

public void onItemClick(AdapterView parent, View v, int position, long id) {


        }
Run Code Online (Sandbox Code Playgroud)

上面的代码是我使用的,但是当我尝试使用另一个listview时,我找不到一种方法来检测单击哪个listview.

有什么想法来解决这个问题吗?

Chr*_*ris 5

在这种情况下,parent是itemClick发起的listView.因此,您可以做的是为每个ListView保留一个成员变量,并将父项与这些成员进行比较,以查看哪个列表触发了点击.

所以这是一个简单的类,我的意思是:

public class MyTest extends Activity{
  private ListView list1;
  private ListView list2;

  public void onCreate(Bundle b){
    super.onCreate(b);

    list1 = new ListView();
    list2 = new ListView();  //or findViewById if you declared them in your layout
    //the rest of your creation code here
  }

  public void onItemClick(AdapterView parent, View v, int position, long id) {
      if(list1 == parent){
         //handle list1 click
      }else{
        //handle list 2 click
      }

        }

}
Run Code Online (Sandbox Code Playgroud)