如何使用一个活动回调在其他活动 [英] How to use one activity call back's in other activity
问题描述
我有两个活动:
在 FirstActivity
(其中还包含列表< MapGroup>
)我实现我的接口
(GetMaps)。
In FirstActivity
(which also contains List<MapGroup>
) I implemented my Interface
(GetMaps).
SecondActivity
包含我通过一个适配器,在那里我可以选择或取消选择地图的地图列表。每当我选择或取消选择,我想在 FirstActivity
来更新我的列表&LT; MapGroup&GT;
:如果我选择,我想添加,如果我取消我想从的ArrayList
。
SecondActivity
contains my list of maps with an adapter, where I can select or deselect the maps. Whenever I select or deselect I would like to update in FirstActivity
my List<MapGroup>
: if I select I would like to add, if I deselect I would like to remove from ArrayList
.
我知道一个解决办法:这可以在Android中使用意图
完成
I know one solution: this can be done using Intent
in android.
但我要寻找一个解决方案,添加或删除可以并行自动完成。
But I am looking for a solution where add or remove can be done automatically in parallel.
推荐答案
1)利用广播接收器的
1) Using BroadcastReceiver
当你改变任何数据发送广播接收器
When you change any data send BroadcastReceiver
Intent broadcast = new Intent();
broadcast.setAction("UpdateData");
sendBroadcast(broadcast);
渔获接收器,你要做像下面。
IntentFilter intentFilter = new IntentFilter(Intent.ACTION_DEFAULT);
intentFilter.addAction("UpdateData");
this.registerReceiver(this.broadcastReceiver, intentFilter);
和..
BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals("UpdateData")){
// Your code goes here.
}
}
};
注销时接收应用程序被破坏。
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(broadcastReceiver);
};
2)使用意图
。的
在你当前活动做到这样。
Intent nextAct = new Intent(CurrentAct.this,NextAct.class);
nextAct.putExtra("Key",value);
startActivityForResult(nextAct,1000);
覆盖的onActivityResult()在你当前活动的方法。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 100 && resultCode == 1000){
}
}
在你NextAct你必须设置结果code像下面。
setResult(1000);
示例的setResult code在onBack preSS();
@Override
public void onBackPressed() {
setResult(1000);
}
这篇关于如何使用一个活动回调在其他活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!