- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
对于基于 ICS 的应用程序,我创建了一个 ListFragment,它又使用 BaseAdapter 实现。我启用了 MultiChoiceModeListener() 以显示上下文操作栏。但这里的问题是,每当我检查 CheckBox 或长按 Label(两者都在 BaseAdapter 的 View 集中)时,根本不会调用 MultiChoiceModeListener 实现。非常感谢任何形式的帮助,因为在尝试了很多选项后我完全陷入困境!!!
public class ActivitiesFragment extends ListFragment {
public void onActivityCreated(Bundle savedInstanceState) {
Log.d(TAG, "Entering onActivityCreated()");
super.onActivityCreated(savedInstanceState);
this.setAdapter();
this.setHasOptionsMenu(true);
}
private void setAdapter() {
HashMap<String, String> activities = DBAdapter
.getInstance(this.context).getActivities();
setListAdapter(new ActivitiesList(Util.sortByComparator(activities)));
ListView listView = getListView();
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
listView.setMultiChoiceModeListener(new MultiSelectionListener());
}
private class ActivitiesList extends BaseAdapter {
// Other functions declared
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ActivityView view = null;
String activityName = this.activityList.get(position);
String colour = this.activities.get(activityName);
if (convertView == null) {
// ActivityView is a LinearLayout with CheckBox, Label and a Button
view = new ActivityView(context, activityName, colour);
} else {
view = (ActivityView) convertView;
view.setActivityName(activityName);
}
return view;
}
}
private class MultiSelectionListener implements MultiChoiceModeListener {
// implementation
}
}
最佳答案
您需要使用 ActionMode.Callback
。 You should read through these docs ,它实际上使用起来非常简单。
关于安卓 : MultiChoiceModeListener not invoked inside ListFragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10592902/
我试图从 Android 源代码中找到 MultiChoiceModeListener 接口(interface)的代码。但我能找到的只是一具骨架: http://androidxref.com/4.
是否有可能使用 MultiChoiceModeListener 或类似的可以从操作栏按钮调用的东西来获取上下文操作栏,因为默认情况下它是在长按列表项后执行的?现在我正在实现 onItemClick 方
我遇到了问题。在扩展 ListActivity 和实现 MultiChoiceModeListener 的主要 Activity 中,我有覆盖方法 onItemCheckedStateChanged(
为了支持操作栏,我使用 Android 支持库包 V4 和 V7。我在我的应用程序中使用 MultiChoiceModeListener。我如何为 2.3 设备使用 MultiChoiceModeLi
我希望能够看到在我的列表中选择了哪些项目。在将 ListView 转换为 ListFragment 之前,所选项目的背景色为蓝色(Holo Dark),但现在我只能在按下项目时看到蓝色 - 然后它消失
我正在尝试使用 AppCompatActivity 和 Toolbar 将多选上下文菜单添加到支持库 22.1.1 的 listview 没有支持库我可以使用 AbsListView.MultiCho
所以,我正在阅读 this earlier question有关如何允许我单击列表中的项目以执行一个操作或长按该项目以切换到 ActionMode 的想法,我可以在其中选择多个项目并使用 Action
我有一个带有相应适配器的 recyclerview。我想在长按 recyclerview 项目时在工具栏中显示多个 customview 菜单选项。非常感谢任何帮助。提前致谢。 最佳答案 我也在做同样
对于基于 ICS 的应用程序,我创建了一个 ListFragment,它又使用 BaseAdapter 实现。我启用了 MultiChoiceModeListener() 以显示上下文操作栏。但这里的
代码如下: mListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL); mListView.setMultiChoice
我有一个实现 MultiChoiceModeListener 接口(interface)的 fragment (v4 支持库)。但是我在 list 中定义了 android:minSdkVersion
我是一名优秀的程序员,十分优秀!