0

Activity 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

要するに、はい。

ただし、誰か(つまりサブアクティビティ)にテキストを変更する機能を提供したい場合は、onStart()でテキストを設定することをお勧めします。

別の注意点として、setupUI()メソッドを実際に公開する必要はほとんどありません。

于 2011-04-26T00:39:39.137 に答える
0

シングルトップ アクティビティの場合MessageDetailActivity、oncreate は 1 回だけ呼び出されます。そのため、テキストを設定するには onResume の方が適しています。

于 2011-04-26T00:17:04.360 に答える
0

関連付けられたビューが表示されなくなるたびに、アクティビティが再開されます。onCreate は、アクティビティが再起動されたときではなく、最初に構築されたときにのみ呼び出されます。このため、テキストを設定するのに適した場所は、少なくとも onStart() メソッドです。ここでアクティビティのライフサイクルを見てください。

于 2011-04-26T00:22:50.383 に答える