Является ли OnCreate () лучшим местом для установки текста? - PullRequest
0 голосов
/ 26 апреля 2011

Я передаю данные из Действия 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"));
        }
    }

Ответы [ 3 ]

0 голосов
/ 26 апреля 2011

Действие перезапускается всякий раз, когда связанный вид больше не виден.OnCreate вызывается только при первом создании действия, а не при его перезапуске.Из-за этого лучшее место для установки текста будет по крайней мере в методе onStart ().Взгляните на жизненный цикл активности здесь .

0 голосов
/ 26 апреля 2011

Короче да.

Однако, если вы хотите дать кому-то возможность (то есть подвид деятельности) изменять текст, тогда вы можете захотеть установить текст в onStart ();

С другой стороны, очень маловероятно, что вы действительно хотите, чтобы ваш метод setupUI () был общедоступным.

0 голосов
/ 26 апреля 2011

Если MessageDetailActivity является однопользовательским действием, oncreate будет вызываться только один раз. поэтому onResume будет лучшим местом для установки текста.

...