2013-04-26 3 views
-2

Я следую этой ссылке stackoverflow Auto refresh the activity, которая обновляет активность каждые 5 секунд. Я хочу обновить активность только один раз, чтобы создать не каждые 5 секунд. waht do i do? пожалуйста, помогите мнеКак обновить acitivty на create? как обновить активность

  public void onCreate(Bundle savedInstanceState) 
    { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 

    this.mHandler = new Handler(); 

    this.mHandler.postDelayed(m_Runnable,5000); 


    }//onCreate 

    private final Runnable m_Runnable = new Runnable() 
{ 
    public void run() 

{ 
    Toast.makeText(refresh.this,"in runnable",Toast.LENGTH_SHORT).show(); 

    refresh.this.mHandler.postDelayed(m_Runnable, 5000);    
} 

};//runnable 
+1

Я действительно не знаю, что вы имеете в виду обновления. Также я не знаю, хотите ли вы обновить 5 секунд. после создания или с вызовом create. – xeed

+0

Я фотографирую из галереи, используя намерение, когда намерение finisg эта активность не обновляется и показывается только до тех пор, пока я не вернусь и не вернусь к этому действию –

+0

Итак, ваша идея - действительно обновлять каждые пять секунд? Не только один раз? – xeed

ответ

0

Поскольку вы описали свою фактическую проблему в комментариях, я отвечу на это здесь.

Вы не должны обновлять приложение каждые 5 секунд. Вы должны отреагировать на результат намерений.

Решение Нет 1 (ActivityForResult подход)

Это, как вы это делаете:

private static final int SELECT_PHOTO = 100; 

Начало Intent

Intent photoPickerIntent = new Intent(Intent.ACTION_PICK); 
photoPickerIntent.setType("image/*"); 
startActivityForResult(photoPickerIntent, SELECT_PHOTO); 

Эта часть называется на результат. И вы должны обновить свою активность в этом методе.

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) { 
    super.onActivityResult(requestCode, resultCode, imageReturnedIntent); 

    switch(requestCode) { 
    case SELECT_PHOTO: 
     if(resultCode == RESULT_OK){ 
      Uri selectedImage = imageReturnedIntent.getData(); 
      InputStream imageStream = getContentResolver().openInputStream(selectedImage); 
      Bitmap yourSelectedImage = BitmapFactory.decodeStream(imageStream); 
     } 
    } 
} 

EDIT: Для того, чтобы понять: Что происходит, что вы создаете свою деятельность. Назовите свое намерение. Ваша активность приостанавливается onPause(), а после выбора возобновляется onResume(). Поэтому, если вы хотите обновить свою активность после ее приостановки. Вы пишете это поведение в методе onResume(). Но все же, если вы начинаете Намерение для какого-то результата. Вы должны использовать вышеуказанный метод, чтобы добавить результат в свою деятельность.

Решение Нет 2 (общий подход)

@Override 
protected void onResume() { 
    super.onResume(); 
    //Refresh here 
}