在完成我的简单程序并发布它之后,我今天又回到了阅读本书,并且我在第18章停止了关于上下文菜单,无论如何我读到了这个:
使用上下文操作情况会更复杂,您仍然可以定义一个菜单资源,但是您实现了两组不同的回调,一组用于上下文操作栏,另一组用于浮动上下文菜单。
我现在担心,因为我只看了一个实现上下文菜单的参考,我没有读过很多,所以我没有真正针对这两件事。
我有一个上下文菜单,其中包含没有图标的选项,只有文字。
这会成为一个问题吗?
我已经在API 8和17和18上对此进行了测试,但它是一样的。
menu.xml文件
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/menu_rename" android:title="Rename" />
<item android:id="@+id/menu_delete" android:title="Delete" />
</menu>
代码
我正在使用registerForContextMenu(getListView())
,因此我可以处理该视图并使用:
@Override
public void onCreateContextMenu(ContextMenu menu , View v , ContextMenu.ContextMenuInfo menuInfo){
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getActivity().getMenuInflater();
inflater.inflate(R.menu.notes_handler_menu, menu);
}
@Override
public boolean onContextItemSelected(MenuItem item){
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
if(item.getItemId() == R.id.menu_rename){
// do something
}
return false;
}
不需要输入所有代码,因为没有问题。我只是想知道这是否会在API 11之前或之后导致早期设备出现问题。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.appabdulmohsen.subjectstracker"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/iconsubjecttracker"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.appabdulmohsen.subjectstracker.SubjectList"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".Activity_subject_tracking"
android:label="@string/app_name"
>
<meta-data android:name="android.support.PARENT_ACTIVITY"
android:value=".SubjectList"
/>
</activity>
<service android:name=".Service_reminder"></service>
<activity
android:name=".activity_todialog_notecontent"
android:label="@string/app_name"
android:theme="@android:style/Theme.Dialog"
android:excludeFromRecents="true"
></activity>
</application>
</manifest>
-
我的问题很简单,就是我对api 8及以上的使用都足够了吗?或者我是否需要实施其他方法?
答案 0 :(得分:0)
对不起,我不是在想。
根据您发布的内容,您没有上下文操作栏的代码。因此,您将看不到上下文操作栏。我甚至不知道你是否有常规操作栏 - 你可能会这样做,但这取决于AppTheme
的定义。
您的代码将显示旧式上下文菜单。
这会成为一个问题吗?
这取决于你对“问题”的定义。使用API Level 15+设备上的上下文菜单(即使用中的绝大多数Android设备)对某些人来说会过时。