0

我将数据从活动 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"));
        }
    }
4

3 回答 3

0

如果MessageDetailActivity是单顶活动,oncreate 只会被调用一次。所以 onResume 将是设置文本的更好地方。

于 2011-04-26T00:17:04.360 回答
0

只要关联的视图不再可见,就会重新启动活动。onCreate 仅在首次构建活动时调用,而不是在重新启动时调用。因此,设置文本的更好位置至少是在 onStart() 方法中。在此处查看活动生命周期。

于 2011-04-26T00:22:50.383 回答
0

简而言之,是的。

但是,如果您想赋予某人(即子活动)修改文本的能力,那么您可能需要在 onStart(); 中设置文本;

另一方面,您不太可能真的希望您的 setupUI() 方法公开。

于 2011-04-26T00:39:39.137 回答