重新扫描SwipeRefreshLayout后清空ListView

时间:2016-08-27 17:35:35

标签: android listview android-arrayadapter swiperefreshlayout

我尝试将SwipeRefreshLayout与ListView一起使用。 当我第一次尝试加载数据时,ListView和ArrayAdapter运行良好。

但是,当我尝试刷新时 - 我有空ListView(但数组有数据)。

这里有一些代码:

MainActivity:

 final SwipeRefreshLayout swipe= (SwipeRefreshLayout) findViewById(R.id.swipe);
    _loader=new RssLoader(getApplicationContext(),this,swipe);
    swipe.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
        @Override
        public void onRefresh() {
            _loader.loadFeeds();                
        }
    });

Loader class:

 public void loadFeeds() {
    String[] urlArr = {"http://www.example.com/export/news.xml"};
 new RssReader(_context)
            .showDialog(false)
            .urls(urlArr)
            .parse(new OnRssLoadListener() {
                @Override
                public void onSuccess(List<RssItem> rssItems) {
                    ArrayList<String> titles=new ArrayList<>();
                    if(rssItems.size()!=0)
                    {
                        titles.clear();
                        RssItems.clear();
                    }
                    Toast.makeText(_context, rssItems.get(0).getTitle(),  Toast.LENGTH_SHORT).show();
                    for (RssItem item:rssItems
                            ) {
                        RssItems.add(item);
                        titles.add(item.getTitle());
                        Log.i("Item:",item.getTitle());
                    }
                    ArrayAdapter<String> adapter=new ArrayAdapter<String>(_context,R.layout.support_simple_spinner_dropdown_item,titles);
                    ListView listNewNews= (ListView)   _activity.findViewById(R.id.listViewNews);
                    listNewNews.setAdapter(adapter);
                    if(_swipeRefresh!=null) {
                        _swipeRefresh.setRefreshing(false);
                    }
                }
                @Override
                public void onFailure(String message) {
                    Toast.makeText(_context, "Error: "+message, Toast.LENGTH_SHORT).show();
                }
            });  
}

0 个答案:

没有答案