如何刷新创建活动?如何刷新活动

时间:2013-04-26 10:57:00

标签: android

我遵循这个stackoverflow链接Auto refresh the activity每隔5秒刷新一次活动我想刷新活动一次只创建不是每5秒钟我做什么?

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 个答案:

答案 0 :(得分:0)

由于您在评论中描述了您的实际问题,我将在此处回答。

您不应该每5秒刷新一次app。你应该对意图结果做出反应。

解决方案1号(ActivityForResult方法)

您就是这样做的:

private static final int SELECT_PHOTO = 100;

启动意图

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);
        }
    }
}

编辑: 为了说清楚:发生了什么,你创建了你的活动。打电话给你。您的活动已暂停onPause(),并且在完成挑选后会恢复onResume()。因此,如果您想在暂停后刷新活动。您在onResume()方法中编写此行为。 但是如果你正在为一些结果开始一个Intent。您可以使用上述方法将结果添加到您的活动中。

解决方案2号(一般方法)

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