我正在尝试使用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值调用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)