onCreate事件,绑定二个按钮,第一个按钮只打开另一个Activity,第二个按打开另一个Activity并返回内容
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//处理第一个窗口,浏览窗口
Button btn1 = (Button) findViewById(R.id.button1);
//添加单击事件
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent _intent = new Intent(MainActivity.this,Activity_a.class);
startActivity(_intent);
}
});
//处理第二个窗口,打开并获取返回值
Button btn2 = (Button) findViewById(R.id.button2);
//添加单击事件
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent _intent = new Intent(MainActivity.this,Activity_c.class);
//startActivity(_intent);
startActivityForResult(_intent,100);
}
});
}// ATTENTION: This was auto-generated to implement the App Indexing API. // See https://g.co/AppIndexing/AndroidStudio for more information. client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build();
主窗口中的回调事件,接收返回值@Override protected void onActivityResult(int requestCode, int resultCode, Intent data){ TextView t = (TextView)findViewById(R.id.text0); TextView tReturn = (TextView)findViewById(R.id.textView4); if(requestCode==100){ t.setText("进入回调100"); if(resultCode == Activity.RESULT_OK){ t.setText("进入100,选择OK"); String strValue = data.getExtras().getString("windowc"); tReturn.setText(strValue); } else{ tReturn.setText("选择了放弃"); } } else { t.setText("未进入回调100"); } }
第一个窗口,没有返回值,就不用写代码了
第二个窗口有返回值,在onCreate事件里,绑写二个按钮的代码
第一个按钮“确定输入”,返回Activity.RESULT_OK,第二个“放弃输入”,返回Activity.RESULT_CANCELED
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_c); final EditText edtText = (EditText)findViewById(R.id.editText1); edtText.setText("请输入新内容"); //确定输入内容的按钮,单击事件 Button btn1 = (Button)findViewById(R.id.btnOK); btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent _intent = new Intent(); String strValue = edtText.getText().toString(); _intent.putExtra("windowc",strValue); setResult(Activity.RESULT_OK,_intent); finish(); } }); //取消输入内容的按钮,单击事件 Button btn2 = (Button)findViewById(R.id.btnCANCEL); btn2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent _intner = new Intent(); setResult(Activity.RESULT_CANCELED,_intner); finish(); } }); }