2011-04-26 2 views
0

활동 A에서 MessageDetailActivity로 데이터를 전달 중입니다. OnCreate()는 텍스트를 설정할 수있는 적절한 장소입니까? MessageDetailActivity가 singletop 활동 인 경우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

, 한 OnCreate 한 번만 호출됩니다. 그래서 onResume은 텍스트를 설정하는 더 좋은 장소가 될 것입니다.

0

연관된보기가 더 이상 보이지 않을 때마다 활동이 다시 시작됩니다. onCreate는 액티비티가 처음 생성 될 때만 호출되며, 액티비티가 다시 시작될 때 호출되지 않습니다. 이 때문에 텍스트를 설정하기위한 더 좋은 장소는 적어도 onStart() 메소드 일 것입니다. 활동 라이프 사이클 here을 살펴보십시오.

0

간단히 말해서, 예.

그러나 누군가 (예 : 하위 활동)가 텍스트를 수정할 수 있도록하려면 onStart();에 텍스트를 설정하고 싶을 수 있습니다.

다른 점은 setupUI() 메소드를 공개하고 싶지 않다는 것입니다.

관련 문제