在片段布局中填充ListFragment

时间:2015-04-20 00:21:41

标签: android android-layout android-fragments android-listview

我想要做的是:填写我已经创建的布局中的列表。 我可以填充列表但没有布局如下: 布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#33f1ff05"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity$PlaceholderFragment">
    <TextView
        android:id="@+id/section_label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <TextView
        android:id="@+id/GTrilhos"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/section_label"
        android:layout_centerHorizontal="true"
        android:text="@string/trilhos"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="#7a0ac00d" />
    <fragment
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:name="android.app.ListFragment"
        android:id="@+id/list"
        android:layout_below="@+id/GTrilhos"
        android:layout_centerHorizontal="true" />
</RelativeLayout>

1 个答案:

答案 0 :(得分:1)

您能否显示您的Java代码以获取更多详细信息? 这是一个可能有用的工作解决方案,我可以根据您要发布的内容进行编辑。 这是java代码:

   public class MainActivity extends ActionBarActivity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            ArrayList<String> strList = new ArrayList<>();
            strList.add("One");
            strList.add("Two");
            strList.add("Three");
            strList.add("Four");
            strList.add("Five");

            ListFragment fragment = (ListFragment) getFragmentManager().findFragmentById(R.id.list);
            if (fragment != null) {
                fragment.setListAdapter(new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, strList));
            }

        }
    }

这是xml:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    tools:ignore="MergeRootFrame">

    <fragment
        android:id="@+id/list"
        android:name="android.app.ListFragment"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</FrameLayout>

希望这有帮助!