【发布时间】:2015-05-21 18:31:05
【问题描述】:
我有一个标准的主从方案。但是,我需要对详细信息项执行更新/删除(这很容易),然后返回到列表项视图,我从中选择要更新的项并更新行。所有数据都由 contentprovider 处理,我知道更新我的适配器。我无法弄清楚如何返回列表视图。任何想法表示赞赏。
【问题讨论】:
标签: android master-detail
我有一个标准的主从方案。但是,我需要对详细信息项执行更新/删除(这很容易),然后返回到列表项视图,我从中选择要更新的项并更新行。所有数据都由 contentprovider 处理,我知道更新我的适配器。我无法弄清楚如何返回列表视图。任何想法表示赞赏。
【问题讨论】:
标签: android master-detail
您可以使用startActivityForResult() 方法从另一个活动中获取结果。
首先,您必须在主 Activity 中使用 startActivityForResult。
Intent intent=new Intent(MainActivity.this,SecondActivity.class);
startActivityForResult(intent, 2);// Activity is started with requestCode 2
您可以在详细Activity中设置数据并在调用者Activity中取回。 只需将数据详细 Activity 如下所示:
Intent result=new Intent();
result.putExtra("MESSAGE",message);
setResult(10, result);
finish();//finishing activity
这里10是detail Activity的result code,你可以为不同类型的result提供不同的result code。
以下是在调用者 Acitvity 中返回结果的方法,只需覆盖 onActivityResult() 方法即可。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// check for the request code and result code
if(requestCode==2 && resultCode == 10) {
String message=data.getStringExtra("MESSAGE");
textView1.setText(message);
}
}
【讨论】: