2013-02-22 38 views
1

是否可以在按钮单击时启动相同的活动。 我在我的MainActivity中有一个按钮,我希望当我单击该按钮时,当前的Activity(MainActivity)重新启动(再次启动)?提前致谢。开始与android中的按钮相同的活动

+0

是的,你可以......但你为什么要这样? – Jitendra 2013-02-22 13:32:42

+0

调用'startActivity(new Intent(MyActivity.this,MyActivity.class))'然后调用'finish()' – 2013-02-22 13:41:26

+1

这是一个不好的做法。 onCreate活动周期非常昂贵。如果你想更新活动的内容,为什么不创建一个方法来做到这一点?并在您点击按钮时调用它。 – 2013-02-23 10:56:28

回答

0

试试这个:)

Button buttonOne = (Button) findViewById(R.id.button1); 
buttonOne.setOnClickListener(new Button.OnClickListener() { 
public void onClick(View v) { 
     Intent intent = new Intent(MainActivity.this, 
         MainActivity.class); 

       startActivity(intent); 
} 
}); 

但我不明白为什么你要做到这一点:P

+0

它的工作,但是当我按下后退应用程序崩溃为什么? – 2013-02-22 14:58:22

+1

使用finish(); (启动后);以便它将关闭当前的活动并显示新的活动 – Shiv 2013-02-22 18:36:54

2

执行此操作的唯一方法是再次启动该活动的Intent。但是,我不明白为什么你会这样做,只是刷新活动内容,调用同一活动内的活动..是多余的,没有任何意义。

+0

是的,你是对的,它的相当尴尬其实我的问题是别的东西我昨天发布的问题[重新启动相机的按钮](http:// stackoverflow.com/questions/15008272/app-crashing-while-trying-to-take-new-photo)这就是我想要的。 – 2013-02-22 13:41:44

+0

我无法解决这个问题,这就是为什么我以其他方式思考的原因。 – 2013-02-22 13:42:14

+0

它总是比解决症状更好地解决核心问题。 – JoxTraex 2013-02-22 13:42:49

-4
Intent intent = new Intent(SameActivity.class); 

      startActivity(intent); 
1

如果你只是想重装活动,不管什么原因,你可以使用this.recreate();其中this是活动。