2014-02-14 86 views
0

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代碼片段中,可以引用包含在內部的佈局而不是整個佈局?

+0

使用片段看到這個樣本http://developer.android.com/training/basics/fragments/index.html – keshav

回答

1

試試這個

<include 
    layout="@android:layout/simple_list_item_1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"/> 
+0

好了,現在讓我們來supposse這樣的:我有一個佈局稱爲'list_layout',在這裏我已經完成了包含'simple_list_item_2'的include。現在,在這個活動中,我想設置它的佈局,佈局中包含'simple_list_item_2',所以...這可以完成? – masmic

+0

@ masmic_87我不明白你的意思。你能解釋一下嗎? – keshav

+0

我已更新了該帖子,並提供了更好的解釋 – masmic