Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.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
Android 如何使用可点击的编辑文本,该文本用于其他布局,但返回时不会丢失先前意图中的任何数据?_Android_Android Layout_Android Intent_Android Edittext - Fatal编程技术网

Android 如何使用可点击的编辑文本,该文本用于其他布局,但返回时不会丢失先前意图中的任何数据?

Android 如何使用可点击的编辑文本,该文本用于其他布局,但返回时不会丢失先前意图中的任何数据?,android,android-layout,android-intent,android-edittext,Android,Android Layout,Android Intent,Android Edittext,我试图创建一个布局,这样有两个可点击的EditText,一旦点击这些EditText,布局将重定向到其他布局,用户必须在其中选择一些内容。但我的问题是如何实现这一点,因为我正在丢失过去的意图数据。当我先单击然后再单击第二个时,第一个意图返回的数据将消失。如何获得此问题的解决方案?好的,我给您举一个简单的startActivityForResult示例,您可以尝试以下方法: 在您的第一个活动中: //declaring this globally would be good private fin

我试图创建一个布局,这样有两个可点击的EditText,一旦点击这些EditText,布局将重定向到其他布局,用户必须在其中选择一些内容。但我的问题是如何实现这一点,因为我正在丢失过去的意图数据。当我先单击然后再单击第二个时,第一个意图返回的数据将消失。如何获得此问题的解决方案?

好的,我给您举一个简单的
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);
然后添加此方法以捕获返回的意图:

@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);
}
因此,在您的第二个活动中,使用类似的方法返回数据:

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();
请参考此链接:

这也是:


还有一种方法是使用片段进行动态布局。请尝试一些努力,编辑您的问题,使我能够轻松地帮助您。

您是否尝试使用
startActivityForResult
Fragment
进行动态布局?@YasinKaçmaz不,我没有,明白了!我会尝试用这个来执行,并通知你它是否工作正常。谢谢你,伙计!你救了我一天,谢谢。事实上,你也可以拯救你的一天。你需要做的就是有效地使用谷歌叔叔。因为关于这个话题有很多线索。无论如何,我的建议只是一个建议,祝你有一个美好的一天。