我正在尝试创建一个布局,使得有两个可点击的edittexts和onClick的那些Edittexts,布局被重定向到用户必须选择的其他布局。但我的问题是如何实现这一目标,因为我正在丢失过去的意图数据。当我先点击然后再点击第二个时,第一个意图返回的数据就会消失。如何获得此问题的解决方案?
答案 0 :(得分:1)
好的,我给你简单的startActivityForResult
例子,你可以试试这个:
在您的第一个活动中:
//declaring this globally would be good
private final int REQUEST_CODE_OTHER_ACTIVITY=0x1;
Intent i=new Intent(this,SecondActivity.class);
startActivityForResult(i,REQUEST_CODE_OTHER_ACTIVITY);
然后添加此方法以捕获返回的Intents:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != RESULT_OK) {
return;
}
switch (requestCode) {
case REQUEST_CODE_OTHER_ACTIVITY:
Bundle extras=data.getExtras();
Toast.makeText(context,data.getString("salutation"),Toast.LENGTH_LONG).show();
break;
}
super.onActivityResult(requestCode, resultCode, data);
}
所以在你的第二个Activity中使用这样来返回数据:
Intent returnIntent = new Intent();
String salute="Hello | привет | Hallo | Merhaba | Bonjour" ;
Bundle extras = new Bundle();
extras.putString("salutation",salute);
setResult(Activity.RESULT_OK,returnIntent.putExtras(extras));
finish();
请参阅此链接:Using Intents to Create Flows
这也是:Result
还有另一种方法是使用Fragments进行动态布局。请尝试一些努力,编辑你的问题,而不是我可以轻松帮助你。