2014-02-14 54 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