2013-03-14 103 views
0

我有两个activity.First活动完成一个活动是游戏画面与暂停键和第二项活动是恢复并重新启动button.When我点击了游戏画面暂停按钮,然后我去次活动从在那里,当我点击重启按钮,然后我要完成第一个活动(游戏画面),并希望开始新的游戏,所以这是我的问题是如何完成的第一项活动,请帮我我想从其他活动

+0

只是调用finish(); ..?我不确定你真的在这里问什么。 – l46kok 2013-03-14 08:54:57

+0

你确定这是正确的将按钮分为单独的活动?只要看看FragmentDialog – JackTurky 2013-03-14 08:55:43

+0

如果我将完成活动,那么如何通过暂停按钮再次调用它,我想要在第二个活动的重新启动按钮上完成后再次创建此活动... – deepak22 2013-03-14 09:04:17

回答

1

选项1: 使用片段

选项2: 从第一活动使用startActivityForResult然后当第二活性在onActivityResult完成cathc。那里完成了第一个活动,然后开始游戏。

选项3: 发送广播消息并在第一个活动中接收并完成它。

有可能做出这些点数。只要放下一些在我脑海中立即出现的选项。如果我是你,我会使用选项1

1

这将杀死所有的顶级活动,并启动新活动新游戏。

Intent intent = new Intent(getApplicationContext(), NewGame.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent); 
3

建议您在所有活动中注册一个广播接收器,并在他们的onReceive()&中使用“finish()”,只要您希望退出,您可以简单地传递意图表明所有活动都必须关闭.....虽然请确保您在onDestroy()方法中“取消注册”接收器。

像这样

  @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     IntentFilter filter = new IntentFilter(); 
     filter.addAction("end"); 
     receiver = new BroadcastReceiver() { 

      @Override 
      public void onReceive(Context context, Intent intent) { 
       // TODO Auto-generated method stub 
       finish(); 
      } 
     }; 
     registerReceiver(receiver, filter); 
} 


    protected void onDestroy() { 
     // TODO Auto-generated method stub 
     super.onDestroy(); 
     unregisterReceiver(receiver); 
    } 

而当你想从另一个活动完成这个只是这样做

Intent i = new Intent("end"); 
       sendBroadcast(i);