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