android-fragments 将数据从Activity传递到fragment(导航组件)

ctzwtxfj  于 2022-11-13  发布在  Android
关注(0)|答案(1)|浏览(166)

我有一个Activity,希望通过它将数据传递给片段。我正在通过导航组件管理片段。请指导我如何将数据从Activity传递给片段。提前感谢

保留片段的维护. JAVA代码

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

    Toolbar toolbar = findViewById(R.id.toolbar);
    bnView = findViewById(R.id.bottom_navigation);
    bnView.setItemIconTintList(null);
    setSupportActionBar(toolbar);

    NavController navController = Navigation.findNavController(this, R.id.container);
    NavigationUI.setupWithNavController(bnView, navController);

}

这是mainActivity,所有片段都在这里,但在此之前,我有一个登录Activity,通过它我进入了OTPActivity,并通过OTP Activity我进入了MAIN ACTIVITY。

登录活动的代码

binding.otpGetingBtn.setOnClickListener(new View.OnClickListener() {
        @SuppressLint("ResourceType")
        @Override
        public void onClick(View view) {
            String vall = binding.editTextPhone.getEditText().getText().toString().trim();
            if (!ValidatePhoneNum()) {
                return;
            }else
            {
                Intent intent = new Intent(LoginSignupActivity.this, OTPActivity.class);
                intent.putExtra("mobile", vall);
                startActivity(intent);
                

            }

        }
    });
2admgd59

2admgd591#

将数据传递到包/Intent中的MainActivity,然后获取片段中的包/Intent。
来自片段类:

Intent intent = requireActivity().getIntent();
    if (intent == null) {
        Log.v(LOG_TAG, "Intent is null");
        return;
    }
    Bundle bundle = intent.getExtras();
    if (bundle == null) {
        Log.v(LOG_TAG, "bundle is: NULL");
        return;
    }

相关问题