我有两个活动(A和B)。活动 A包含两个 EditText(1和2)。我有意从A启动Activity B.然后,从Activity B,我有意将一个字符串传递给EditText2。
我现在的问题是,在将活动B中的意图传递给EditText2之后,我在EditText1中输入的单词消失了。我的问题是,即使将活动B中的意图传递给EditText2,我怎么能保持我在EditText1中输入的单词。这是我的问题的循环:
在EditText1中键入内容>发布活动B>从Activity 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);
}
答案 0 :(得分:0)
使用这种结构,你正在做的是:
致电ActivityA(例如ID:1) - >致电ActivityB(ID:2) - >调用ActivityA(ID 3 !!)您没有调用与第一次相同的活动,您将获得具有自己值的新ActivityA。
解决此问题的最佳方法是使用startActivityforResult,在return-intent中传递数据。在这里,您可以找到一个很好的例子https://stackoverflow.com/a/10407371/585540。