Java OnCreate()是设置文本的最佳位置吗?
我正在将数据从活动A传递到MessageDetailActivity。OnCreate()是设置文本的正确位置吗Java OnCreate()是设置文本的最佳位置吗?,java,android,android-activity,textview,oncreate,Java,Android,Android Activity,Textview,Oncreate,我正在将数据从活动A传递到MessageDetailActivity。OnCreate()是设置文本的正确位置吗 public class MessageDetailActivity extends Activity { private TextView bodyTextView; /** Called when the activity is first created. */ @Override public void on
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"));
}
}
如果
MessageDetailActivity
是一个单端活动,oncreate将只调用一次。因此,onResume是设置文本的更好地方。每当关联的视图不再可见时,就会重新启动活动。onCreate仅在首次构造活动时调用,而不是在重新启动活动时调用。因此,至少在onStart()方法中可以更好地设置文本。看看活动生命周期。简言之,是的
但是,如果您想让某人(即子活动)能够修改文本,那么您可能需要在onStart()中设置文本
另一方面,您不太可能真的希望setupUI()方法是公共的