我目前正在尝试调整我的应用程序以使用"适用于Android v4的兼容性库",以便为Android 1.6用户提供使用片段的好处.
上下文菜单的实现似乎很棘手:
对于onCreateContextMenu(),这非常有效.上下文菜单从资源文件中膨胀,并根据所选项目进行略微修改(基于listView ...即使片段不是ListFragment).
选择上下文菜单项时会发生此问题. 从第一个添加的片段开始,为所有当前存在的片段调用onContextItemSelected().
在我的例子中,片段用于显示文件夹结构的内容.当打开子文件夹片段的上下文菜单并选择菜单项时,首先在上层调用onContextItemSelected()(取决于此时允许/可见的片段数).
现在,我使用活动级别上的字段的变通方法,该字段包含调用其onCreateContextMenu()的最后一个片段的标记.这样,当存储的标记与getTag()不同时,我可以在onContextItemSelected()的开头调用"return super.onContextItemSelected(item)" .但这种方法对我来说有点脏.
为什么在所有片段上调用onContextItemSelected()?而不只是一个调用onCreateContextMenu()的人?
处理这个问题最优雅的方法是什么?
android contextmenu android-fragments android-support-library
我想将我的应用程序转换/改编为Android 4.0.为此,我计划在支持它的设备上使用ActionBar.所有Android版本> = 3.0都这样做.此外,没有硬件菜单按钮的设备似乎会自动在操作栏上显示"菜单"按钮.
当我使用API级别13在模拟器上测试我的应用程序时,这确实可以正常工作......但不知何故,我无法在API级别14(Android 4.0)上模拟手机时设置模拟器的行为方式相同).当我尝试将" 硬件后退/主页键 "设置为false时,根本没有按钮(不在屏幕上而不是模拟器提供的键盘).
我在"Galaxy Nexus"的一些屏幕截图和视频中看到,它在ActionBar上显示了一个"菜单"按钮......就像Honeycomb平板电脑那样,但是我不知道怎么做也没有成功.模拟器使得理解我的UI如何在Andoid 4.0手机上工作变得有点复杂.