Java 在我的代码中,getArgument每次都返回null

Java 在我的代码中,getArgument每次都返回null,java,android,android-studio,Java,Android,Android Studio,我已经尝试了每种类型的解决方案,但是片段get参数方法总是返回null 这是我的片段代码 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment View view = inflate

我已经尝试了每种类型的解决方案,但是片段get参数方法总是返回null

这是我的片段代码

 public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View view = inflater.inflate(R.layout.fragment_main_activity, container, false);
       
        **String data1 = getArguments().getString("data");
        Toast.makeText(getActivity(), getArgument1, Toast.LENGTH_SHORT).show();**
}
在上面的代码中,data1总是返回null。 这是我的主要活动代码

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
     
        chipNavigationBar = findViewById(R.id.bottomNavBar);
        chipNavigationBar.setItemSelected(R.id.home, true);
        getSupportFragmentManager().beginTransaction().replace(R.id.container1, new mainActivityFragment()).commit();

        chipNavigationBar.setOnItemSelectedListener(new ChipNavigationBar.OnItemSelectedListener() {
            @Override
            public void onItemSelected(int i) {
                Fragment fragment = null;
                switch (i) {
                    case R.id.home:

                        **fragment = new mainActivityFragment();
                        Bundle bundle = new Bundle();
                        bundle.putString("data","anything");
                        fragment.setArguments(bundle);**

                        break;
                    case R.id.menu:
                        fragment = new menuFragment();
                        break;

                    case R.id.corona:
                        fragment = new CoronaFragment();
                        break;
                }
                getSupportFragmentManager().beginTransaction().replace(R.id.container1, fragment).commit();
            }
        });

    }

我担心有两个地方可以加载
mainActivityFragment()
——第一个是默认情况下,当没有bundle参数时,第二个是当
芯片导航栏时。调用setOnItemSelectedListener
。也许可以试试这样:

static mainActivityFragment createMainActivityFragment() {
    mainActivityFragment fragment = new mainActivityFragment();
    Bundle bundle = new Bundle();
    bundle.putString("data","anything");
    fragment.setArguments(bundle);
    return fragment;
}

//IN ONCREATE:
    getSupportFragmentManager().beginTransaction().replace(R.id.container1, mainActivityFragment.createMainActivityFragment()).commit();

//IN THE SWITCH
    case R.id.home:
        fragment = mainActivityFragment.createMainActivityFragment()
    break;

那么这两个实例都应该有bundle

data1
还是
getArgument1
相同的东西?是否调用了
chipNavigationBar.setOnItemSelectedListener
呢?是的data1和getArgument1都是相同的,是的chipNavigationBar被调用了。如果我的java有错误,我已经习惯了Kotlinno担心,如果它真的有效,你能把它标记为答案吗?