我将数据从活动A传递到MessageDetailActivity。 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 :(得分:0)
如果MessageDetailActivity
是单一活动,则oncreate只会被调用一次。所以onResume是一个更好的设置文本的地方。
答案 1 :(得分:0)
只要关联的视图不再可见,就会重新启动活动。 onCreate仅在首次构建活动时调用,而不是在重新启动时调用。因此,设置文本的更好位置至少在onStart()方法中。请查看活动生命周期here。
答案 2 :(得分:0)
简而言之,是的。
但是,如果您想让某人(即子活动)能够修改文本,那么您可能需要在onStart()中设置文本;
另一方面,你真的不希望你的setupUI()方法公开。