Android的核心布局的事情是,如果要包括内部的其他布局的任何布局,你就必须做到:包含一个XML
<include layout="@layout/your_layout"/>
但是,如果你想包括Android的核心布局中的一个作为simple_list_item_2
,这将如何完成?
更新1 -
使用给出的解决方案:
<include layout="@android:layout/simple_list_item_2"/>
现在,这让我有另外一个问题。
我有一个活动,调用另一个ListActivity。如果我们使用手机或平板电脑,则需要管理,如果我们使用手机,则只会显示ListActivity,但如果我们使用平板电脑,则会显示ListActivity和DetailFragment。
在我ListActivity,我这样做:
public PlacesCursorAdapter(Context context, Cursor c) {
super(context, R.layout.THE_LAYOUT, c, 0);
mInflater = LayoutInflater.from(context);
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
View view = mInflater.inflate(R.layout.THE_LAYOUT, parent, false);
//...
return view;
}
//...
这就是为什么我提出的第一个问题的原因。我需要使用simple_list_item_2
来包含列表的元素。但是,如果我们使用手机或平板电脑,则必须仅显示列表,列表和详细信息。
我不知道如何管理这个,所以我做的第一件事是创建一个布局,其中只包括手机的simple_list_item_2
,并创建另一个同名的布局,但保留在布局大文件夹,其中还包括simple_list_item_2
,但也有一个framelayout来设置DetailFragment。
该布局被称为list_layout,并且在它的内部是simple_list_item_2
:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<include
android:id="@+id/list_simple"
layout="@android:layout/simple_list_item_2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</LinearLayout>
现在,我的疑问是...我能做到这一点?在上面的java代码片段中,可以引用包含在内部的布局而不是整个布局?
使用片段看到这个样本http://developer.android.com/training/basics/fragments/index.html – keshav