Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 2.3上的主/详细流程模板_Android_Android Fragments - Fatal编程技术网

Android 2.3上的主/详细流程模板

Android 2.3上的主/详细流程模板,android,android-fragments,Android,Android Fragments,我需要在Android 2.3上使用主/细节流模板。这可能吗?该应用程序将在Android 2.3上崩溃,因为它缺少一些API>10资源,因此: 转到“XListFragment”并更改以下行: setListAdapter(新的ArrayAdapter(getActivity(),R.layout.main_list_项,android.R.id.text1,DummyContent.ITEMS)) 将布局更改为您自己的布局 获得“XDetailActivity”并注释此行“getAction

我需要在Android 2.3上使用主/细节流模板。这可能吗?

该应用程序将在Android 2.3上崩溃,因为它缺少一些API>10资源,因此:

  • 转到“XListFragment”并更改以下行:
  • setListAdapter(新的ArrayAdapter(getActivity(),R.layout.main_list_项,android.R.id.text1,DummyContent.ITEMS))

    将布局更改为您自己的布局

  • 获得“XDetailActivity”并注释此行“getActionBar().setDisplayHomeAsUpEnabled(true);”

  • 为了获得actionBar,应使用兼容性库进行此操作。

    答案是

    要使其在安卓2.3上运行,需要进行两项更改

    首先,生成的类ItemListFragment包含一个布局常量,该常量已在API级别11:simple_list_item_activated_1中引入。此特定布局突出显示激活的列表项。如果您使用多窗格布局,则此选项非常有用,因为它会向用户显示在“详细信息”窗格中选择并显示的列表项

    我现在忽略突出显示,只是尝试让代码运行:

    int layout = android.R.layout.simple_list_item_1;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        layout = android.R.layout.simple_list_item_activated_1;
    }
    
    setListAdapter(new ArrayAdapter<DummyContent.DummyItem>(
        getActivity(),
        layout,
        android.R.id.text1, 
        DummyContent.ITEMS));
    
    现在你得到一个线头警告。调用需要API级别11,但清单文件至少声明API级别9。添加注释以抑制onCreate()方法的新API警告:

    @suppressint(“NewApi”)

    现在更改AndroidManifest.xml文件以支持API级别9:

    <uses-sdk
    android:minSdkVersion="9"
    android:targetSdkVersion="16" />
    
    
    

    通过这些更改,您现在可以在Android 2.3上运行该项目。

    您在下一篇文章中提到了更多信息。有这样一个职位吗?
    <uses-sdk
    android:minSdkVersion="9"
    android:targetSdkVersion="16" />