【发布时间】:2015-03-22 11:22:11
【问题描述】:
我有一个 Activity,它承载了一个 Fragment。
Activity 布局文件:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment class="com.my.ContentFragment"
android:id="@+id/fragment_content"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</FrameLayout>
Activity的Java代码:
import android.support.v4.app.Fragment;
import android.support.v7.app.ActionBarActivity;
public class ContentActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//data from previous Activity
Bundle data = getIntent().getExtras();
Fragment contentFragment = getSupportFragmentManager()
.findFragmentById(R.id.fragment_content);
//Pass data to fragment
/*NullpointerException, contentFragment is null!*/
contentFragment.setArguments(data);
setContentView(R.layout.activity_main);
}
...
}
我尝试在Activity的onCreate()中找到片段,然后传递一些数据给它。但是当我findFragmentById(...)时,我得到了NullpointerException,为什么?
【问题讨论】:
-
您的代码错误太多,请参考
Fragmentdocs (developer.android.com/guide/components/fragments.html),
标签: android android-intent android-fragments android-activity