Intent意图
当多个页面进行交互需要判断各个页面返回时进行的操作的时候就用到了请求码和返回码
startActivityForResult(intent, 请求码); 需要在第下个界面用setResult(返回码,intent);配合使用
从这个activity发送请求码 并接受返回码
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MotionEvent;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
if(event.getAction()==MotionEvent.ACTION_DOWN){
Intent intent=new Intent(this, OtherActivity.class);
intent.putExtra("name", "张三");
startActivityForResult(intent, 100);
}
return super.onTouchEvent(event);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
if(requestCode==100){
if(resultCode==300){
String data1=data.getStringExtra("back");
System.out.println(data1);
}
}
super.onActivityResult(requestCode, resultCode, data);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
从这个activity中返回结果码
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
public class OtherActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_other);
String name=getIntent().getStringExtra("name");
System.out.println(name);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode==KeyEvent.KEYCODE_BACK){
Intent intent=new Intent();
intent.putExtra("back", "sfsfsfadfa");
setResult(300, intent);
finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
}