android - 当 Activity 转到后台 adapter.notifyDataSetChanged() 时,不起作用

标签 android broadcastreceiver adapter

在我的应用程序中,单击缩略图和 progress indicator 下载 pdf。显示下载进度,下载完成后从下载的类中触发广播,并在主要 Activity 中注册广播接收器和 adapter.notifyDataSetChanged();行为。并且进度指示器变得不可见这是我的要求但是 我的问题是,当主要 Activity 进入后台并完成下载时,进度指示器不显示 invisible.当用户返回 Activity 时

BroadcastReceiver receiver=new BroadcastReceiver() 
{
@Override
 public void onReceive(Context context, Intent intent) {
 adapter.notifyDataSetChanged();
    }
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

     setContentView(R.layout.gridview);
    new DownloadJSON().execute();
}

@Override
protected void onResume() {
    super.onResume();
    registerReceiver(receiver,new IntentFilter("com.download.complete"));
}

  @Override
public void onStop() {
    super.onStop();
    unregisterReceiver(receiver);

//完成下载pdf后,广播被触发 context.sendBroadcast( Intent );

最佳答案

您在 onStop() 方法中注销接收器。每当 Activity 进入后台时,您就没有监听接收器。因此,不会调用 notifyDataSetChanged() 并且不会执行您的操作。

关于android - 当 Activity 转到后台 adapter.notifyDataSetChanged() 时,不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35083293/

相关文章:

android - onStop 在 onDestroy 之后被调用?

android - Android 中发送广播的最大可接受频率

java - 如何在窗口中的任何位置找到关键监听器

Android ListView 标题

android - 在 Android 通知中实现贪睡

java - 异常-将异常写入包裹

Android:带有 Butterknife 的 Kotlin

android - 是否可以从广播接收器启动 Intent ?

svn - 是否可以在 LAMP 上运行 SVN 服务器? (例如 GoDaddy 共享主机帐户)

java - 用于在 Java 中验证手机号码的正则表达式