android–onCreateContextMenu使用ContextMenuInfo的null值调用

android–onCreateContextMenu使用ContextMenuInfo的null值调用,第1张

概述我正在尝试使用ContextMenu.我已经使用SimpleCursorAdapter为一个简单的ListActivity成功完成了这个.接下来我想用CursorAdapter替换SimpleCursorAdapter但仍然保留ContextMenu行为,所以我添加了两个强制覆盖函数bindView和newViewpublicViewnewView(Contextcontext,Cursor

我正在尝试使用ContextMenu.
我已经使用SimpleCursorAdapter为一个简单的ListActivity成功完成了这个.
接下来我想用CursorAdapter替换SimpleCursorAdapter但仍然保留ContextMenu行为,所以我添加了两个强制覆盖函数bindVIEw和newVIEw

public VIEw newVIEw(Context context, Cursor cursor, VIEwGroup parent) {    VIEw vIEw = mLayoutInflater.inflate(R.layout.check_row, parent, false);    registerForContextMenu(vIEw);    return vIEw;}

请注意registerForContextMenu,它替换了ListActivity的onCreate方法中的registerForContextMenu(getListVIEw()).我发现有必要调用onCreateContextMenu(…)

所有这些都可行(使用预期的小部件创建的行,对它们的回调等工作等).除了提供给onCreateContextMenu(…)的ContextMenuInfo参数现在为null之外的所有内容 – 停止我访问rowID.
还有其他技巧要做 – 也许是在CursorAdapter的bindVIEw(…)方法中?

解决方法:

我正在回答这个问题 – 但我会指出’commonsware.com’提供了线索和方向,见上文.
问题
  – 在行布局中使用CheckBox会影响上下文菜单的使用
  – 我相信CheckedTextVIEw是用于多选的,它不适合初始化已检查状态.

我采用的解决方案如下
 1.使用CheckedTextVIEw
 2.从CursorAdapter扩展到bindVIEw(…)期间初始化检查状态
注意:这必须管理显示正确的图标
 3.在onListItemClick(…)中管理CheckedTextVIEw的状态并将其记录在dBase中,不要忘记更新光标.

总结

以上是内存溢出为你收集整理的android – onCreateContextMenu使用ContextMenuInfo的null值调用全部内容,希望文章能够帮你解决android – onCreateContextMenu使用ContextMenuInfo的null值调用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1118592.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存