【问题标题】:Multiple Listviews using same Adapter class and same CallBack Interface to Activity多个列表视图使用相同的适配器类和相同的活动回调接口
【发布时间】:2013-08-27 04:47:12
【问题描述】:

我有两个自定义 ListView,每个都有自己的适配器,但属于同一类。所以每个都有相同的回调接口到活动。

我正在努力解决 Activity 如何区分哪个 ListView 正在运行 CallBack。侦听器将选定的值发送回活动。但是,每个 ListView 都有相似的可选值(即 1、2、3、4)。因此,仅选择的值不足以区分选择源自哪个 ListView。

【问题讨论】:

    标签: android listview interface callback adapter


    【解决方案1】:

    是的,您可以通过设置 2 列表来做到这一点是全局变量。并检查您的回调,例如:

    public void onItemClick(AdapterView<?> arg0, View arg1, int pos, long arg3) {
        if(arg0 == mListView1){// listview1 item click}
        else if(arg0 == mListView2){// listview2 item click}
    }
    

    希望对您有所帮助。

    【讨论】:

      【解决方案2】:

      要获得更高的可读性,请使用这样的匿名界面:

      lstView.setOnItemClickListener(new OnItemClickListener() {
      
                  @SuppressWarnings("unchecked")
                  @Override
                  public void onItemClick(AdapterView<?> arg0, View arg1, int pos, long arg3) {
      
                      }
                  }
              });
      

      【讨论】:

        【解决方案3】:

        回调监听器不应由同一个活动类实现。 您可以自己实现两个 listView 的侦听器。

        例如:

        listView1.setOnItemClickListener(listener1);
        listView2.setOnItemClickListener(listener2);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-10-25
          • 1970-01-01
          • 1970-01-01
          • 2017-08-10
          相关资源
          最近更新 更多