Java 如何将意图附加内容传递给活动,以及如何从以前的活动传递到活动中的片段
我有两个活动,活动B是用户上传其个人资料的地方,一旦他上传,他将重定向到活动A,其中包含两个片段,片段1和片段2 当应用程序启动时,用户将被重定向到活动A,该活动有抽屉菜单,并显示为“注册”,一旦用户单击“注册”,活动B将打开。当用户单击“提交”按钮时,我会将活动B中的附加内容传递给A,然后A会从菜单中隐藏“注册”按钮 在活动B中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
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");
}
}
在代码中应用这个
我希望它能帮助你 其中是片段部分,我应该在其中编写代码,例如获取额外信息和更改文本字符串。其中是片段部分,我应该在其中编写代码,例如获取额外信息和更改文本字符串。