Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 实现无止境适配器_Android_Cwac Endless_Endlessadapter - Fatal编程技术网

Android 实现无止境适配器

Android 实现无止境适配器,android,cwac-endless,endlessadapter,Android,Cwac Endless,Endlessadapter,我使用doInBackground()方法从服务器获取整个数据,如下所示 class DataLoader extends Activity{ public void onCreate() { ............................... new AsyncTask1().execute(); } class AsyncTask1 extends AsyncTask<String, String,

我使用doInBackground()方法从服务器获取整个数据,如下所示

class DataLoader extends Activity{

    public void onCreate()
    {
         ...............................
          new AsyncTask1().execute();
    }

    class AsyncTask1 extends AsyncTask<String, String, String> {


            @Override
            protected void onPreExecute() {
                super.onPreExecute();
                progressDialog = new ProgressDialog(DataLoader.this);
                progressDialog.setMessage("Loading...");
                progressDialog.setCancelable(false);
                progressDialog.show();
            }


            protected String doInBackground(String... args) {

                JSONObject json;

                List<NameValuePair> params = new ArrayList<NameValuePair>();

                    params.add(new BasicNameValuePair("param1",datafield1));
                    params.add(new BasicNameValuePair("param2",datafield2));
                    json = jsonParser.makeHttpRequest(url, "POST", params);

                try {

                    int success = json.getInt(SUCCESS);

                    if (success == 1) {

                        products = json.getJSONArray(PRODUCTS);

                        // looping through All Products
                        for (int i = 0; i < products.length(); i++) {
                            JSONObject c = products.getJSONObject(i);

                            // Storing each json item in variable
                            String id = c.getString(ID);
                            String price = c.getString(PRICE);
                            String name = c.getString(NAME);


                            // creating new HashMap
                            HashMap<String, String> map = new HashMap<String, String>();

                            // adding each child node to HashMap key => value
                            map.put(PID, id);
                            map.put(PRICE, price);
                            map.put(NAME, name);

                           ..................

                            // adding HashList to ArrayList
                            productsList.add(map);

                        }
                        return "success";
                    }
                    else {
                        // no materials found for this section

                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }

                return null;
            }


            protected void onPostExecute(String msg) {

                if( msg != null && msg.equals("success"))
                {

                progressDialog.dismiss();
                // updating UI from Background Thread
                runOnUiThread(new Runnable() {
                    public void run() {
                        /**
                         * Updating parsed JSON data into ListView
                         * */

                        customadapter=new CustomAdapterList(DataLoader.this, productsList);        
                        listView.setAdapter(adapter);

                    }
                });

                }
            }
        }
类数据加载器扩展活动{
public void onCreate()
{
...............................
新建AsyncTask1().execute();
}
类AsyncTask1扩展了AsyncTask{
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
progressDialog=新建progressDialog(DataLoader.this);
progressDialog.setMessage(“加载…”);
progressDialog.setCancelable(假);
progressDialog.show();
}
受保护的字符串doInBackground(字符串…args){
JSONObject json;
List params=new ArrayList();
参数添加(新的BasicNameValuePair(“参数1”,数据字段1));
参数添加(新的BasicNameValuePair(“参数2”,数据字段2));
json=jsonParser.makeHttpRequest(url,“POST”,参数);
试一试{
int success=json.getInt(success);
如果(成功==1){
products=json.getJSONArray(products);
//在所有产品中循环
对于(int i=0;ivalue
map.put(PID,id);
卖出(价格,价格);
地图。放置(名称、名称);
..................
//将哈希列表添加到ArrayList
productsList.add(地图);
}
返回“成功”;
}
否则{
//未找到此部分的资料
}
}捕获(JSONException e){
e、 printStackTrace();
}
返回null;
}
受保护的void onPostExecute(字符串msg){
如果(msg!=null&&msg.equals(“成功”))
{
progressDialog.disclose();
//从后台线程更新UI
runOnUiThread(新的Runnable(){
公开募捐{
/**
*将解析的JSON数据更新到ListView中
* */
customadapter=新的CustomAdapterList(DataLoader.this,productsList);
setAdapter(适配器);
}
});
}
}
}

根据上面的代码,我正在
onPostExecute()中将数据设置到
listview
方法,仅在加载整个数据之后。但是现在我想用现有代码实现
CW无止境适配器
,但由于我是新手,我无法了解如何从这里继续。我将CWAdapter jar文件包含在libs文件夹中。我已经参考和搜索了很多,但没有任何用处。有人能帮我实现吗为我得到的数据设置无休止的功能?

基本思想是在需要更多数据时运行
异步任务,也就是当使用滚动到列表底部时。下面是一个。

您的确切问题是什么?实现自定义适配器非常简单。我的问题不是自定义适配器。我已经完成了自定义适配器。但是我想t向其添加无止境适配器功能。此外,有没有一种方法可以通过使用无止境适配器从服务器获取数据,同时将数据设置到listview,而不是等待加载整个数据。非常感谢。这似乎很好。但我无法理解您提供的详细信息。您能详细说明吗?Tha非常感谢你。我会试试这个。顺便说一句,你在代码中提到了针对特定集合的//--分页查询……。但是我编写了php代码来返回数据库中的所有数据。你能给我指一些链接吗?我可以从中获得php中的分页查询示例吗?谢谢。@user2056532有打开。我被困在这个ArrayAdap上了这门课很糟糕。如何准备这门课?我知道如何通过扩展BaseAdapter来制作customAdapter。但这是什么?你能回答我吗?非常感谢。你是我的英雄。