码迷,mamicode.com
首页 > 其他好文 > 详细

startActivityForResult、setResult的用法

时间:2015-04-24 06:47:37      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:onactivityresult、setresult

    startActivityForResult和setRsult的具体作用: 第一个activity向第二个activity传递数据,第二个activity接受之后做一些处理,,,,然后A又要利用这些数据继续做一些操作,就是利用回传值。

    第一个activity的代码:

    

public class MainActivity extends Activity implements OnClickListener {


private Button but;

private EditText edit;

private TextView text;


@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

but = (Button) findViewById(R.id.but);

edit = (EditText) findViewById(R.id.edit);

text = (TextView) findViewById(R.id.text);


but.setOnClickListener(this);

}


@Override

public void onClick(View view) {


switch (view.getId()) {

case R.id.but:

Intent main = new Intent(MainActivity.this, OneActivity.class);

main.putExtra("zhi", edit.getText().toString());

MainActivity.this.startActivityForResult(main, 2);

break;

default:

break;

}

}


@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

if (resultCode == 10) {

String str = data.getExtras().getString("zhi") ;

text.setText("" + str);

}

}

}

    第二个activity的代码:

    

public class OneActivity extends Activity implements OnClickListener {

private String str;

private Button but2 ;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.one);

but2 = (Button) findViewById(R.id.but2) ;

but2.setOnClickListener(this);

}

@Override

public void onClick(View view) {

switch (view.getId()) {

case R.id.but2:

Intent in = getIntent() ;

str = in.getStringExtra("zhi");

in.putExtra("str",str) ;

setResult(10, in);

finish();

break;


default:

break;

}

}

}

    requestCode是请求码,resultCode是接受码,可以根据接受码区分是具有哪个操作发送到的请求,利用setResult返回数据,result返回数据的时候携带参数一起发送,

protected void onActivityResult(int requestCode, int resultCode, Intent data)中的data就是返回的数据,所有返回的数据都在这里面,完全可以在这里面取出。

本文出自 “清甘茶” 博客,请务必保留此出处http://shunshuncon.blog.51cto.com/8232441/1637764

startActivityForResult、setResult的用法

标签:onactivityresult、setresult

原文地址:http://shunshuncon.blog.51cto.com/8232441/1637764

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!