从活动B到活动A

时间:2016-10-17 13:58:29

标签: android android-studio android-activity savechanges extra

我有两项活动。在活动A中我有Textview。点击此按钮后,我会使用EditText转到活动B.

如何将活动B中EditText的值传回活动A中的TextView,在此过程中保持活动A的原始状态?

1 个答案:

答案 0 :(得分:1)

像这样写活动A

public class MainActivity extends Activity {  
TextView textView1;  
Button button1;  
@Override  
protected void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState);  
    setContentView(R.layout.activity_main);  
    textView1=(TextView)findViewById(R.id.textView1);  
    button1=(Button)findViewById(R.id.button1);  
    button1.setOnClickListener(new OnClickListener() {  
        @Override  
        public void onClick(View arg0) {  
            Intent intent=new Intent(MainActivity.this,SecondActivity.class);  
            startActivityForResult(intent, 2);// Activity is started with requestCode 2  
        }  
    });  
}  
// Call Back method  to get the Message form other Activity  
@Override  
   protected void onActivityResult(int requestCode, int resultCode, Intent data)  
   {  
             super.onActivityResult(requestCode, resultCode, data);  
              // check if the request code is same as what is passed  here it is 2  
               if(requestCode==2)  
                     {  
                        String message=data.getStringExtra("MESSAGE");   
                        textView1.setText(message);  
                     }  
 }  
 }

inste of startActivity使用startActivityForResult

Intent intent=new Intent(MainActivity.this,SecondActivity.class);  
        startActivityForResult(intent, 2);// Activity is started with requestCode 2  

并在活动B中设置结果如此

   Intent intent=new Intent();  
                intent.putExtra("MESSAGE",message);  
                setResult(2,intent);  
                finish();//finishing activity  

您可以在活动A(intent.putExtra("MESSAGE",message);

中获得onActivityResult