Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将意图附加内容传递给活动,以及如何从以前的活动传递到活动中的片段_Java_Android_Android Fragments_Fragment - Fatal编程技术网

Java 如何将意图附加内容传递给活动,以及如何从以前的活动传递到活动中的片段

Java 如何将意图附加内容传递给活动,以及如何从以前的活动传递到活动中的片段,java,android,android-fragments,fragment,Java,Android,Android Fragments,Fragment,我有两个活动,活动B是用户上传其个人资料的地方,一旦他上传,他将重定向到活动A,其中包含两个片段,片段1和片段2 当应用程序启动时,用户将被重定向到活动A,该活动有抽屉菜单,并显示为“注册”,一旦用户单击“注册”,活动B将打开。当用户单击“提交”按钮时,我会将活动B中的附加内容传递给A,然后A会从菜单中隐藏“注册”按钮 在活动B中 Intent in = new Intent(B.this, A.class); in.putExtr

我有两个活动,活动B是用户上传其个人资料的地方,一旦他上传,他将重定向到活动A,其中包含两个片段,片段1和片段2

当应用程序启动时,用户将被重定向到活动A,该活动有抽屉菜单,并显示为“注册”,一旦用户单击“注册”,活动B将打开。当用户单击“提交”按钮时,我会将活动B中的附加内容传递给A,然后A会从菜单中隐藏“注册”按钮

在活动B中

                Intent in = new Intent(B.this, A.class);
                in.putExtra("hideRegistermenu", true);
                startActivity(in);
在活动A中

 if(getIntent().getBooleanExtra("hideRegistermenu", false)) {

        menu.findItem(R.id.register).setVisible(false);

    }
它工作正常,我的问题是,因为我在底部的片段1中也有注册按钮,所以当用户上传他/她的个人资料并重定向到活动A时,我也想更改片段A中按钮的文本或隐藏按钮

但我如何将相同的额外意图传递给活动A中的片段,然后根据收到的额外意图执行我的任务呢


提前感谢。

在活动A中,使用以下命令启动活动B:

 public static final int UPDATED_USER = 20;
startActivityForResult(ActivityA.this,ActivityB.class,UPDATED_USER );
在活动A上,按如下方式实现ActivityResult方法:

   @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK&&requestCode==UPDATED_USER  ){
        //Your code here
        Bundle bundle = data.getExtras();   //Your new data
        String name = bundle.getString("name");

    }
}
一旦启动活动B和用户更新的配置文件,请按如下方式完成活动:

    Intent data = new Intent();
    data.putString("name","name");
    //put All your data
    setResult(Activity.RESULT_OK, data);
    finish();

在活动A中,使用以下命令启动活动B:

 public static final int UPDATED_USER = 20;
startActivityForResult(ActivityA.this,ActivityB.class,UPDATED_USER );
在活动A上,按如下方式实现ActivityResult方法:

   @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK&&requestCode==UPDATED_USER  ){
        //Your code here
        Bundle bundle = data.getExtras();   //Your new data
        String name = bundle.getString("name");

    }
}
一旦启动活动B和用户更新的配置文件,请按如下方式完成活动:

    Intent data = new Intent();
    data.putString("name","name");
    //put All your data
    setResult(Activity.RESULT_OK, data);
    finish();

步骤1:将数据从活动传递到片段,

Bundle bundle = new Bundle();
bundle.putString("name", "My name");
// set MyFragment Arguments
MyFragment myObj = new MyFragment();
myObj.setArguments(bundle);
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (getArguments() != null) {
            mParam1 = getArguments().getString("name");
        }
    }
步骤2:接收数据到片段,

Bundle bundle = new Bundle();
bundle.putString("name", "My name");
// set MyFragment Arguments
MyFragment myObj = new MyFragment();
myObj.setArguments(bundle);
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (getArguments() != null) {
            mParam1 = getArguments().getString("name");
        }
    }
在代码中应用这个


我希望它能帮助你

步骤1:将数据从活动传递到片段,

Bundle bundle = new Bundle();
bundle.putString("name", "My name");
// set MyFragment Arguments
MyFragment myObj = new MyFragment();
myObj.setArguments(bundle);
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (getArguments() != null) {
            mParam1 = getArguments().getString("name");
        }
    }
步骤2:接收数据到片段,

Bundle bundle = new Bundle();
bundle.putString("name", "My name");
// set MyFragment Arguments
MyFragment myObj = new MyFragment();
myObj.setArguments(bundle);
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (getArguments() != null) {
            mParam1 = getArguments().getString("name");
        }
    }
在代码中应用这个


我希望它能帮助你

其中是片段部分,我应该在其中编写代码,例如获取额外信息和更改文本字符串。其中是片段部分,我应该在其中编写代码,例如获取额外信息和更改文本字符串。