Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.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 Intent - Fatal编程技术网

Android 向当前活动添加意图而不重新启动它

Android 向当前活动添加意图而不重新启动它,android,android-intent,Android,Android Intent,我有两个活动(A和B)。活动由两个编辑文本(1和2)组成。我打算从A启动活动B。然后,从活动B,我打算将字符串传递给EditText2 我现在的问题是,在将意图从活动B传递到EditText2之后,我在EditText1中键入的单词消失了。我的问题是,即使在将意图从活动B传递到EditText2之后,我如何维护在EditText1中键入的单词。以下是我的问题周期: 在EditText1>启动活动B>从活动B获取字符串并将其传递到EditText2>在EditText1中键入单词 这是我的密码:

我有两个活动(A和B)。活动由两个编辑文本(1和2)组成。我打算从A启动活动B。然后,从活动B,我打算将字符串传递给EditText2

我现在的问题是,在将意图从活动B传递到EditText2之后,我在EditText1中键入的单词消失了。我的问题是,即使在将意图从活动B传递到EditText2之后,我如何维护在EditText1中键入的单词。以下是我的问题周期:

在EditText1>启动活动B>从活动B获取字符串并将其传递到EditText2>在EditText1中键入单词

这是我的密码:

活动A:

public class ActivityA extends Activity {

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

        Intent intent = getIntent();
        String message = intent.getStringExtra(ActivityB.EXTRA_MESSAGE);

        EditText editText = (EditText) findViewById(R.id.edittext2);
        editText.setText(message);   
    }

    public void to_actb(View view) {

        Intent intent = new Intent(this, ActivityB.class);
        startActivity(intent);
    }
活动B

public class ActivityB extends Activity {

    public final static String EXTRA_MESSAGE = "hello.hey.MESSAGE";

....

    public void to_acta(View view) {

        Intent intent = new Intent(this, ActivityA.class);
        TextView textView = (TextView) findViewById(R.id.text);
        String message = textView.getText().toString();
        intent.putExtra(EXTRA_MESSAGE, message);
        startActivity(intent);      
    }

使用此结构,您要做的是:

调用ActivityA(例如ID:1)->调用ActivityB(ID:2)->调用ActivityA(ID:3!!)如果您不是第一次调用同一个活动,您将得到一个具有自己值的新ActivityA


解决此问题的最佳方法是使用startActivityforResult,以返回方式传递数据。在这里你可以找到一个很好的例子。

谢谢你,伙计!链接中的答案解决了我的问题。我想投票支持你的答案,但我没有足够的声誉去做,对不起。不过你可以接受答案。这将给响应者声誉评分。