【问题标题】:android listactivity onCheckedChangeListenerandroid listactivity onCheckedChangeListener
【发布时间】:2012-08-21 18:07:11
【问题描述】:

我正在开发一个应用程序,我有一个ListActivity,它的选择模式设置为choice_mode_multiple。现在我想重写方法,当一个项目被选中/取消选中时调用,我发现onCheckChanged() 方法仅针对RadioGroup 和复合Button 实现。如何在ListActivity 中覆盖这样的内容?还是我必须实现自己的Adapter?谢谢

【问题讨论】:

    标签: android listview


    【解决方案1】:

    设置 onlistitemclick 监听器为 listview ,然后在 itemclick 方法中获取 mylistView.getCheckedItemCount() ,编写要执行的操作的代码。

    如果不清楚,请告诉我您在检查项目时要实现什么。

    mylistView = (ListView)customView.findViewById(R.id.mylist);
    mylistView.setAdapter(mFolderAdapter);
    
    mylistView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
    
    
    mylistView.setOnItemClickListener(new OnItemClickListener() {
    
                    @Override
                    public void onItemClick(AdapterView<?> arg0, View v,
                            int arg2, long arg3) {
                        // TODO Auto-generated method stub
    
    
    
                            if(mylistView.isItemChecked(arg2)){
    
      //Dooperation
    
                                } 
    // or 
    if(mylistView.getCheckedItemCount()>1){
      //Dooperation
    }
    
                    }
                });
    

    【讨论】:

      【解决方案2】:

      如果您使用标准数组适配器和 SINGLE 或 MULTIPLE 选择模式,请使用 isItemChecked (int position) 或 setItemChecked(int position, boolean value)。 http://developer.android.com/reference/android/widget/AbsListView.html#isItemChecked(int)

      您还可以创建自定义适配器并使用可以容纳 onClickListener 和 CheckedChangedListener 的复选框来扩展行布局。 使用搜索查找示例。

      【讨论】:

      • 我应该在 onItemClick 中调用 isItemChecked 吗?
      猜你喜欢
      • 2019-03-10
      • 1970-01-01
      • 2014-07-21
      • 1970-01-01
      • 2012-01-26
      • 2011-09-23
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      相关资源
      最近更新 更多