android - 如何从另一个活动刷新当前列表视图?
问题描述
单击工具栏中的刷新图标后,如何从另一个或主 Activity 刷新 Activity1 中的列表视图?
这是我预期的编码设计:
MainActivity - 有一个使用刷新图标创建的选项卡和工具栏。
Activity1 片段 - 在 tab1 中有 Listview1
Activity2 片段 - 在 tab2 中有 Listview2
单击刷新图标后,所有列表视图都将被刷新。但是,我不知道如何从另一个活动中调用 Activity1 中的刷新函数。
以下代码用于刷新 Activity1 中的 listview(listView_monitor) 并在调用自身时正常工作:
private void Refresh_Listview() {
monitorList = new ArrayList<>();
monitorList.clear();
if (Create_Data_Array()) {
adapter = new FGT_Monitor_ListView_Adapter(getActivity(), monitorList);
listView_monitor.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
}
请多多指教。
谢谢提前。
解决方案
有多种方法可以做到这一点。对我来说,最简单的方法是使用广播接收器。例如
内部片段 A
@Override
public void onResume() {
getActivity().registerReceiver(mReceiverLocation, new IntentFilter("data_action"));
super.onResume();
}
@Override
public void onPause() {
getActivity().unregisterReceiver(mReceiverLocation);
super.onPause();
}
private BroadcastReceiver mReceiverLocation = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
try {
Category category = (Category) intent.getSerializableExtra("category");
Log.e("data", category.getName());
} catch (Exception e) {
e.printStackTrace();
}
}
};
从活动(刷新点击)
public void onClick(View view) {
Intent in = new Intent("data_action");
in.putExtra("category", category);
context.sendBroadcast(in);
}
推荐阅读
- highcharts - React highcharts,将图例显示为条形图
- ruby - 如何将 Nokogiri 元素分配给哈希键
- reactjs - react-select focus() 更改后不显示光标
- ios - 我有 UIView 扩展,在这个扩展中我有一个方法 setDarkModeColor 如何在每次初始化视图时调用
- swift - C 中的 FTDI D2XX API 在命令行控制台上工作,但在由 Xcode 和 Swift 编程在 macOS 上构建的应用程序中始终返回零
- opengl - 如何从帧缓冲区翻转数据
- javascript - MongoDB Mongoose 在默认 createdAt 时间戳中按日期分组
- php - 修复 prestashop 错误。在分面搜索处于活动状态时进行排序时,某些产品会消失
- python - Django REST API 查询相关字段
- apache-nifi - Apache NiFi 的用例?