温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

startActivityForResult、setResult的用法

发布时间:2020-06-30 22:22:56 来源:网络 阅读:567 作者:清甘茶 栏目:开发技术

    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就是返回的数据,所有返回的数据都在这里面,完全可以在这里面取出。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI