后退操作是携带数据:通讯录中选择联系人、快捷回复等
MainActivity.java
public void click(View c){
//跳转至选择联系人Activity
Intent intent = new Intent(this,ContactActivity.class);
startActivity(intent);
//用这个api启动的Activity,在销毁时,系统会回调onActivityResult
startActivityForResult(intent, 10);
}
startActivityForResult(intent, 10);//请求数据
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
String name = data.getStringExtra("name");
if(requestCode == 10){
EditText et = (EditText)findViewById(R.id.et);
et.setText(name);
}
else if(requestCode == 20){
EditText et_content = (EditText)findViewById(R.id.et_content);
et_content.setText(name);
}
}
ContactActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_contact);
ListView lv = (ListView) findViewById(R.id.lv);
final String[] objects = new String[]{
"小明",
"张三",
"李四",
"王五"
};
lv.setAdapter(new ArrayAdapter<String>(this,R.layout.item_listview, R.id.tv, objects));
//给listview设置条目的点击侦听
lv.setOnItemClickListener(new OnItemClickListener() {
//当某个条目被点击时,此方法调用
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
//Activity返回时传递数据,也是通过意图对象
Intent data = new Intent();
//把要传递的数据封装至意图对象中
data.putExtra("name",objects[position]);
//当前Activity销毁时,data这个意图就会传递给启动当前Activity的那个Activity
setResult(1, data);
//销毁当前Activity
finish();
}
});
}
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
super.onBackPressed();
}