我有一个带有listView的活动A,用户点击任何启动活动B的项目.根据用户在活动B中的操作,可能会更改活动A上的listView.
所以我的问题:
当用户从活动B返回时,如何告诉活动A它已恢复?
我希望能够在返回时在活动A中发出listView的刷新信号.
谢谢!
您可以在活动A中添加代码以刷新列表视图onResume().
@Override
protected void onResume() {
super.onResume();
//Code to refresh listview
}
Run Code Online (Sandbox Code Playgroud)
使用startActivityForResult是最优雅的方式。OnResume每次您关闭并打开该应用程序时都会发生,这将占用更多资源,尤其是在刷新大量数据时。
在活动顶部将请求代码声明为常量:
public static final int OPEN_NEW_ACTIVITY = 123456;
Run Code Online (Sandbox Code Playgroud)
将其放在开始新活动的位置:
Intent intent = new Intent(this, NewActivity.class);
startActivityForResult(intent, OPEN_NEW_ACTIVITY);
Run Code Online (Sandbox Code Playgroud)
活动结束后做点什么。文档建议您使用resultCode,但是根据情况,您的结果可以是RESULT_OK或RESULT_CANCELED按下按钮时。所以我会省略它。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == OPEN_NEW_ACTIVITY) {
// Refresh your ListView here
// ....
}
}
Run Code Online (Sandbox Code Playgroud)
由于某些原因,将片段放入片段时遇到了麻烦。因此,您必须将其放入活动中。
| 归档时间: |
|
| 查看次数: |
3416 次 |
| 最近记录: |