Android Fragement getArguments()返回null

Android Fragement getArguments()返回null,android,android-fragments,Android,Android Fragments,我试图将数据从活动传递到片段,但在Bundle.getString()上得到一个空指针 我还注意到,即使没有片段事务代码,它也会转到片段 片段: public class MainFragment extends BrowseFragment { @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceStat

我试图将数据从活动传递到片段,但在Bundle.getString()上得到一个空指针

我还注意到,即使没有片段事务代码,它也会转到片段

片段:

public class MainFragment extends BrowseFragment {
    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        Bundle bundle = this.getArguments();
        String myValue = bundle.getString("message");
    }
活动

public class MainActivity extends FragmentActivity{
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Bundle bundle = new Bundle();
        String myMessage = "Stackoverflow is cool!";
        bundle.putString("message", myMessage );
        MainFragment fragInfo = new MainFragment();
        fragInfo.setArguments(bundle);
        FragmentTransaction transaction = getFragmentManager().beginTransaction();
        transaction.replace(R.id.main_browse_fragment, fragInfo);
        transaction.commit();
    }
activity_main.xml

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/main_browse_fragment"
    android:name="my.package.MainFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    tools:deviceIds="tv"
    tools:ignore="MergeRootFrame" />


将xml布局中的片段更改为简单框架布局。从xml创建片段会导致异常,因为它没有参数(它们是在活动代码中手动添加的)

将xml布局中的片段更改为simple FrameLayout。从xml创建片段会导致异常,因为它没有参数(它们是在活动代码中手动添加的)

使用
getArguments().getX(键)而是
Bundle=this.getArguments()getArguments()看这里,请提供实际堆栈trace@MohamedRa不起作用。getArguments()将返回nullHave
FrameLayout
,并用XML中的ID替换它。@code511788465541441,如Eugen所说。容器(通常是框架布局)使用
getArguments().getX(键)而是
Bundle=this.getArguments()getArguments()看这里,请提供实际堆栈trace@MohamedRa不起作用。getArguments()将返回nullHave
FrameLayout
,并用XML中的ID替换它。@code511788465541441,如Eugen所说。容器(通常是框架布局)