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

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);

最佳答案

请修改您的onResume()方法

@Override
protected void onResume() {
    if (adapter !=null) {
        adapter.notifyDataSetChanged();
    }
    registerReceiver(receiver,new IntentFilter("com.download.complete"));
    super.onResume();
}

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

10-09 01:21