在xml中包含android核心布局

时间:2014-02-14 11:41:36

标签: android android-layout layout

问题是,如果您想在其他布局中包含任何布局,您只需执行以下操作:

<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的布局,并创建另一个同名的布局,但是保持在layout-large文件夹中,该文件夹还包含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代码片段中,可以对内部包含的布局进行make引用而不是整个布局吗?

1 个答案:

答案 0 :(得分:1)

试试这个

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