2011-04-26 22 views
0

我將活動A中的數據傳遞給MessageDetailActivity。 OnCreate()是設置文本的正確位置嗎?是OnCreate()設置文本的最佳位置?

public class MessageDetailActivity extends Activity { 

     private TextView bodyTextView; 
     /** Called when the activity is first created. */ 
     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setupUI(); 
     } 

     public void setupUI(){ 
      Bundle bundle = getIntent().getExtras(); 

      this.bodyTextView = (TextView) findViewById(R.id.bodyTextView); 
      Log.d("VALUE IS", bundle.getString("message")); 
      Toast.makeText(getApplicationContext(), bundle.getString("message"),Toast.LENGTH_SHORT).show(); 
      bodyTextView.setText(bundle.getString("message")); 
     } 
    } 

回答

0

如果MessageDetailActivity是一個singletop活動,oncreate只會被調用一次。所以onResume會是一個更好的地方來設置文本。

0

只要關聯的視圖不再可見,就會重新啓動活動。 onCreate僅在活動首次構建時調用,而不是在重新啓動時調用。因此,至少在onStart()方法中,設置文本的更好的地方是。看看活動生命週期here

0

總之,是的。然而,如果你想賦予某人(即一個子活動)修改文本的能力,那麼你可能需要在onStart()中設置文本。

在另一個說明中,它非常不希望公開您的setupUI()方法。