2013-02-22 43 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是活動。