我遵循这个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
答案 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
}