android - 如何从 BroadcastReceiver 刷新 ListView?

标签 android listview broadcastreceiver notifydatasetchanged

如果我在与我的 ListView 关联的自定义适配器上调用 notifyDataSetChanged(),所有 View 都应该自行刷新(将调用 getView())。 现在我有一个正在监听事件的 BroadcastReceiver。当事件触发时,必须刷新 ListView。我怎样才能做到这一点? 谢谢!

最佳答案

如果您从接收器刷新 ListView ,您将拥有如下代码:

BroadcastReceiver br;
public final static String BROADCAST_ACTION = "BROADCAST_ACTION";
br = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
//code refreshing...
}
};
IntentFilter intFilt = new IntentFilter(BROADCAST_ACTION);
registerReceiver(br, intFilt);

然后你用代码调用它:

Intent intent = new Intent(BROADCAST_ACTION);
sendBroadcast(intent);

如果您需要将刷新作为另一个操作,您只需添加(操作后):

Intent intent = new Intent(BROADCAST_ACTION);
sendBroadcast(intent);

关于android - 如何从 BroadcastReceiver 刷新 ListView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26163075/

相关文章:

android - java.lang.ClassCastException : android. app.ContextImpl 无法在 ImageButton Android 上转换为 "Activity"

android - Android 中的 Listview 缩放和动画

Android IntentService/Service 向 web 服务请求/发送数据并获取 UI 进度

android - 法国是否支持 paypal rest-api 进行实时交易 paypal-android-sdk

java - HAXM 设置在 android studio 中失败

android - 当子项单击时更新 ListView 项目的可绘制状态

android - 当我断开 wifi 时,用于检查互联网连接的广播接收器被调用两次

android - 如何识别哪个文件触发了 Download_Complete Intent

android:在模拟器上使用 MediaPlayer 录制音频

android - SQLiteQueryBuilder 反向排序顺序