不要在android-pull中加载数据来刷新并加载更多的库

时间:2014-11-18 06:13:34

标签: android android-asynctask

我下载并导入了库[https://github.com/shontauro/android-pulltorefresh-and-loadmore][1] 一切正常。但是当我尝试更改错误输出中的代码时。 评论哪些有用。什么出现在我的工作之下。甚至没有显示日志。我做错了什么?

public class LoadMoreExampleActivity extends ListActivity {

    // list with the data to show in the listview
    private LinkedList<String> mListItems;

    // The data to be displayed in the ListView
    private String[] mNames = { "Fabian", "Carlos", "Alex", "Andrea", "Karla",
            "Freddy", "Lazaro", "Hector", "Carolina", "Edwin", "Jhon",
            "Edelmira", "Andres" };

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.loadmore);

        mListItems = new LinkedList<String>();
        mListItems.addAll(Arrays.asList(mNames));

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, mListItems);

        setListAdapter(adapter);

        // set a listener to be invoked when the list reaches the end
        ((LoadMoreListView) getListView())
                .setOnLoadMoreListener(new OnLoadMoreListener() {
                    public void onLoadMore() {
                        // Do the work to load more items at the end of list
                        // here
                        new LoadDataTask().execute();
                    }
                });
    }

    private class LoadDataTask extends AsyncTask<String, Void, String> {
        String[] mass;
        @Override
        protected String doInBackground(String... strings) {
            Document doc;
            if (isCancelled()) {
                return null;
            }

            // Simulates a background task
//          try {
//              Thread.sleep(1000);
//          } catch (InterruptedException e) {
//          }
//          for (int i = 0; i < mNames.length; i++)
//              mListItems.add("string"+i);


            try {
                doc = Jsoup.connect(link).get();
                Elements eName = doc.select("name");

                for (int i = 0; i < eName.size(); i++) {
                    mListItems.add(eName.get(i).ownText());
                }
            } catch (IOException e) {
                e.printStackTrace();
            }

            return null;
        }

        @Override
        protected void onPostExecute(String result) {

            mListItems.add("Added after load more");

            // We need notify the adapter that the data have been changed
            ((BaseAdapter) getListAdapter()).notifyDataSetChanged();

            // Call onLoadMoreComplete when the LoadMore task, has finished
            ((LoadMoreListView) getListView()).onLoadMoreComplete();

            super.onPostExecute(result);
        }

        @Override
        protected void onCancelled() {
            // Notify the loading more operation has finished
            ((LoadMoreListView) getListView()).onLoadMoreComplete();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

你不要忘记连接互联网吗?

<uses-permission android:name="android.permission.INTERNET"/>