Her*_*tyk 6 android listview refresh fragment android-fragments
我Activity在布局中有一个片段容器.Fragment可以显示3种不同的颜色.片段包含一个列表视图,该视图使用自定义适配器i显示数据.
因此onCreateView,在我查询数据库以获取数据之后,每个列表元素都会被创建.
但有时我的数据库中的某些数据可能会发生变化,我想重新绘制/重新创建Listview.
拆卸并用它固定
Fragment currentFragment = getFragmentManager().findFragmentByTag("YourFragmentTag");
FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.detach(currentFragment);
fragmentTransaction.attach(currentFragment);
fragmentTransaction.commit();
Run Code Online (Sandbox Code Playgroud)
或搜索片段
Fragment currentFragment = getActivity().getSupportFragmentManager().findFragmentById(R.id.container);
Run Code Online (Sandbox Code Playgroud)
合并两个答案并删除if (isVisibleToUser),因为它使得setUserVisibleHint以不可预测的异步顺序调用,并且片段可以刷新也可以不刷新。我发现这段代码稳定(在您的片段中):
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
// Refresh tab data:
if (getFragmentManager() != null) {
getFragmentManager()
.beginTransaction()
.detach(this)
.attach(this)
.commit();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40343 次 |
| 最近记录: |