在传递值对象(Serializable和Parcelable)基础上
在content_the_aty.xml上
<LinearLayout 改为LinearLayout
    <TextView
        android:text="获取Activity返回的参数"
        android:id="@+id/tv" />
    <Button
        android:text="Send back"
        android:id="@+id/button" />
    <EditText
        android:id="@+id/editText"
        android:layout_weight="1" />
</LinearLayout>在MainActivity.java中添加
public class MainActivity extends AppCompatActivity {
    private TextView textView;//定义一个textView
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView= (TextView) findViewById(R.id.textView);//2强制类型转换,获取textView对象在TheAty.java中
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent i=new Intent();//2返回对象Intent,把i传进来
        i.putExtra("data",editText.getText().toString());//4传进来 一个data,内容是editText字符串
        setResult(1,i);//1返回状态码(如1)和返回数据()
        finish();//把当前的activity结束
    }
});在TheAty.java中
public class TheAty extends AppCompatActivity {
    private TextView tv;
    private EditText editText;//3定义一个editText在MainActivity.java中添加
//                startActivity(i);//此时启动不了
                startActivityForResult(i,0);接收传回的参数,i和请求的代码0继续重写一个函数:
@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {//Intent data指的是TheAty.java中的setResult(1,i);的i
        super.onActivityResult(requestCode, resultCode, data);
        textView.setText("返回的数据是"+data.getStringExtra("data"));
在TheAty.java中
 tv= (TextView) findViewById(R.id.tv);
        editText= (EditText) findViewById(R.id.editText);//获取editText,强制类型转换运行
 最后编辑时间为: 2016-08-29 10:56:53
本站文章除注明转载/出处外,
均为本站原创或翻译,转载前请务必署名。