我有一个活动,显示服务器中的项目列表。单击列表项时,我打开另一个详细活动。在细节活动上,我做了一些更改回服务器。因此,当我按下后退按钮时,我想刷新上一个活动,以确保我所做的更改反映出来。
这就是我现在所做的: -
@Override
protected void onRestart()
{
// TODO Auto-generated method stub
super.onRestart();
FetchItems fetchTask = new FetchItems();
try {
myFinalList = fetchTask.execute(registerContet).get();
}
catch (Exception e)
{
e.printStackTrace();
}
}
一切正常。但是当我按下后退按钮时会有一个UI冻结,它不会立即回到上一个屏幕。 我该如何解决这个问题?
答案 0 :(得分:1)
启动详情活动时,请使用startActivityForResult
。然后在详情活动中执行您想要的任何工作,并致电setResult()
和finish()
。最后,回到你的第一个活动并覆盖onActivityResult()
,抓取你在完成()之前打包的任何数据,然后用它来刷新你的列表。
更多信息和示例可在此处找到:
答案 1 :(得分:0)
这听起来像event bus like otta,greenDao
的完美用例,
如果你不想使用那些你可以在意图中放置刷新状态标志并将其传递给活动的那些。
答案 2 :(得分:0)
function your_widget_handler() {
unregister_widget( 'WC_Widget_Layered_Nav' ); //unregister
register_widget( 'The_New_Attribute_Widget' ); //Register the new class
}
add_action( 'widgets_init', 'your_widget_handler' );