HttpConnect 时如何刷新视图?

How I can refresh the view when HttpConnect?

从网络接收信息并将该数据附加到视图。

使用离子库,

private void getListInfo() {

    Ion.with(getApplicationContext())
            .load("POST", "URL..")
            .setBodyParameter("Parameters", "Parameters")
            .asString()
            .withResponse()
            .setCallback(new FutureCallback<Response<String>>() {
                @Override
                public void onCompleted(Exception e, Response<String> result) {

                    if (e != null) {
                        e.printStackTrace();
                    } else {

                        int resultCode = result.getHeaders().code();
                        String resultInfo = result.getResult();

                        if (resultCode == 200) {

                            Log.d("EntrantInfo", resultInfo);

                            Gson gson = new Gson();
                            Type type = new TypeToken<List<Data>>() {
                            }.getType();

                            listItems = gson.fromJson(resultInfo, type);
                            Adapter.setItems(listItems);
                            Adapter.notifyDataSetChanged();
                            textview.setText(data);

                        }

                    }

                }
            });

}

因此,我在 onCreate() 调用 getListInfo() 方法。

我移动那个'A' activity,我根本看不到数据

在 recyclerview 或 listview 中,使用 notifyDataSetChanged() 但我看不到列表。

但是,当我返回并再次移动 'A' activity 时,我可以看到数据和视图。

所以我想我得到了信息,但它没有在那个视图中更新。

现在,当我从服务器获取信息时,如何查看视图?

您可以使用 SwipeRefreshLayout 在滑动时刷新数据: SwipeRefreshLayout

SwipeRefreshLayout.OnRefreshListener

添加数据加载功能

您可以设置一个 TimerTask 来刷新您的数据

TimerTask timerTask;
Timer timer;
timerTask = new TimerTask() {
        @Override
        public void run() {
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    //load your data
                    getListInfo();
                }
            });
        }
    };
    timer = new Timer();
    timer.scheduleAtFixedRate(timerTask, 0, 200);

并确保取消计时器onPause()

@Override
protected void onPause() {
    if(timer != null){
        timer.cancel();
    }
    super.onPause();
}