【发布时间】:2014-01-28 00:21:31
【问题描述】:
我是 android 开发的新手,我正在努力让工作成为一个简单的例子。
当布局包含片段时,这个片段被膨胀并且方法 findByViewId 返回一个 NULL 指针。我想知道如何避免这种情况。
activity_main.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="com.example.todoit.MainActivity"
tools:ignore="MergeRootFrame" />
到目前为止,我发现的唯一解决方案是不使用片段布局:/
fragment_main.xml
<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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.example.todoit.MainActivity$PlaceholderFragment">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/myEditText"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true" />
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/myListView"
android:layout_below="@+id/myEditText"
android:layout_alignRight="@+id/myEditText"
android:footerDividersEnabled="false" /> </RelativeLayout>
这段代码返回了一个空指针
setContentView(R.layout.activity_main);列表视图我的列表视图 = (ListView)findViewById(R.id.myListView);
我发现的唯一方法是改用这个。
setContentView(R.layout.fragment_main);列表视图我的列表视图 = (ListView)findViewById(R.id.myListView);
所有这些代码都在 onCreate 方法中。
谁能告诉我如何解决这个问题?有没有办法让包括片段在内的整个布局膨胀?
非常感谢。 何塞
【问题讨论】:
标签: android layout fragment findviewbyid