使用android Dynamicly将更多项目加载到listview需要帮助

使用android Dynamicly将更多项目加载到listview需要帮助,android,listview,dynamic,load,Android,Listview,Dynamic,Load,代码 使用此代码: adapter.setOnScrollListener(new EndlessScrollListener()); setListAdapter(adapter); 无错误,但所有内容同时显示 LoadGigsTask()函数是什么?我使用//LoadGigsTask在教程中未定义,可能是因为这个,不是吗 在代码中使用 ((AbsListView)this.view).setOnScrollListener(新的EndlessScrollListener()) 但在这一行中

代码

使用此代码:

adapter.setOnScrollListener(new EndlessScrollListener());
setListAdapter(adapter);
无错误,但所有内容同时显示

LoadGigsTask()函数是什么?我使用//LoadGigsTask在教程中未定义,可能是因为这个,不是吗

在代码中使用

((AbsListView)this.view).setOnScrollListener(新的EndlessScrollListener())

但在这一行中

最后我用这个我现在搜索更新列表视图

this.getListView().setOnScrollListener(new EndlessScrollListener());

列表视图可以使用适配器动态加载项。他们有一个关于如何使用ListView和GridView的很好的教程。基本上,可以使用对象集合设置ListView的适配器。然后在更新对象时,可以调用notifyDataSetChanged

this.getListView().setOnScrollListener(new OnScrollListener(){

        //useless here, skip!
        public void onScrollStateChanged(AbsListView view, int scrollState) {}

        //dumdumdum         
        public void onScroll(AbsListView view, int firstVisibleItem,
                int visibleItemCount, int totalItemCount) {


            //what is the bottom iten that is visible
            int lastInScreen = firstVisibleItem + visibleItemCount;             

            //is the bottom item visible & not loading more already ? Load more !
            if((lastInScreen == totalItemCount) && !(loadingMore)){ 
                Toast.makeText(getApplicationContext(), "OK END LIST.", Toast.LENGTH_LONG).show();
                //Thread thread =  new Thread(null, loadMoreListItems);
                //thread.start();

            }
        }
    });
ArrayList myitems=new ArrayList();
添加(“你好”);
我的项目。添加(“第2行”);
myitems.add(“另一行”);
ListView ListView=(ListView)findViewById(R.id.mylistview);
ArrayAdapter=新的ArrayAdapter(this,R.layout.list_item,myitems));
setAdapter(适配器);
myitems.add(“再见”);
adapter.notifyDataSetChanged();
R.id.mylistview是我给ListView的id


R.layout.list_项是每个列表项的布局。这只是一个简单的文本视图,列表视图可以使用适配器动态加载项目。他们有一个关于如何使用ListView和GridView的很好的教程。基本上,可以使用对象集合设置ListView的适配器。然后在更新对象时,可以调用notifyDataSetChanged

this.getListView().setOnScrollListener(new OnScrollListener(){

        //useless here, skip!
        public void onScrollStateChanged(AbsListView view, int scrollState) {}

        //dumdumdum         
        public void onScroll(AbsListView view, int firstVisibleItem,
                int visibleItemCount, int totalItemCount) {


            //what is the bottom iten that is visible
            int lastInScreen = firstVisibleItem + visibleItemCount;             

            //is the bottom item visible & not loading more already ? Load more !
            if((lastInScreen == totalItemCount) && !(loadingMore)){ 
                Toast.makeText(getApplicationContext(), "OK END LIST.", Toast.LENGTH_LONG).show();
                //Thread thread =  new Thread(null, loadMoreListItems);
                //thread.start();

            }
        }
    });
ArrayList myitems=new ArrayList();
添加(“你好”);
我的项目。添加(“第2行”);
myitems.add(“另一行”);
ListView ListView=(ListView)findViewById(R.id.mylistview);
ArrayAdapter=新的ArrayAdapter(this,R.layout.list_item,myitems));
setAdapter(适配器);
myitems.add(“再见”);
adapter.notifyDataSetChanged();
R.id.mylistview是我给ListView的id


R.layout.list_项是每个列表项的布局。这只是一个简单的文本视图

有关更多信息,请参见此处我的代码用于Dynamicly load listview;)

this.getListView().setOnScrollListener(新的OnScrollListener()){
//这里没用,斯基普!
public void onScrollStateChanged(AbsListView视图,int scrollState){}
//达姆
public void onScroll(AbsListView视图,int firstVisibleItem,
int visibleItemCount,int totalItemCount){
//可见的底部iten是什么
int lastInScreen=firstVisibleItem+visibleItemCount;
//底部项目是否可见&尚未加载更多?加载更多!
如果((lastInScreen==totalItemCount)&&(loadingMore)){
Adapter.notifyDataSetChanged();
}
如果((lastInScreen==totalItemCount)&&!(加载更多)){
i++;
//在恩沃伊·拉佩奇·阿勒·切彻
字符串page3=getPage(var_global.URL+“listview.php?login=“+login+”&page=“+i”);
Log.i(日志标签,第3页);
JSONObject json=JSONfunctions.getJSONfromURL(var_global.URL+“json/listview/”+login+”.json);
试一试{
JSONArray=json.getJSONArray(“infos”);

对于(int i=0;i有关更多信息,请参阅我的代码用于Dynamicly load listview;)

this.getListView().setOnScrollListener(新的OnScrollListener()){
//这里没用,斯基普!
public void onScrollStateChanged(AbsListView视图,int scrollState){}
//达姆
public void onScroll(AbsListView视图,int firstVisibleItem,
int visibleItemCount,int totalItemCount){
//可见的底部iten是什么
int lastInScreen=firstVisibleItem+visibleItemCount;
//底部项目是否可见&尚未加载更多?加载更多!
如果((lastInScreen==totalItemCount)&&(loadingMore)){
Adapter.notifyDataSetChanged();
}
如果((lastInScreen==totalItemCount)&&!(加载更多)){
i++;
//在恩沃伊·拉佩奇·阿勒·切彻
字符串page3=getPage(var_global.URL+“listview.php?login=“+login+”&page=“+i”);
Log.i(日志标签,第3页);
JSONObject json=JSONfunctions.getJSONfromURL(var_global.URL+“json/listview/”+login+”.json);
试一试{
JSONArray=json.getJSONArray(“infos”);

对于(int i=0;iListView已设置为动态加载项。只需调用adapter.notifyDataSetChangedok,对于在我的ListView中添加数据,您是一个简单的示例吗?ListView已设置为动态加载项。只需调用adapter.notifyDataSetChangedok,对于在我的ListView中添加数据,您是一个简单的示例吗?我的列表名为android:list
示例中是ListView ListView=(ListView)findViewById(R.id.mylistview);这是如何完成的?如果更改名称,我的代码将不起作用!最后我刚刚通过了我的代码json,后跟Adapter.notifyDataSetChanged();它可以工作!!!我的列表名为android:list
,示例中是ListView ListView=(ListView)findViewById(R.id.mylistview);如何完成此操作?如果更改名称,我的代码将不起作用!最后,我刚刚通过了我的代码json,后面是Adapter.notifyDataSetChanged();它可以工作!!!
ArrayList<String> myitems = new ArrayList<String>();
myitems.add("Hello");
myitems.add("Line 2");
myitems.add("Another line");

ListView listView = (ListView)findViewById(R.id.mylistview);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, myitems));
listView.setAdapter(adapter);

myitems.add("Goodbye");
adapter.notifyDataSetChanged();
this.getListView().setOnScrollListener(new OnScrollListener(){

        //useless here, skip!
        public void onScrollStateChanged(AbsListView view, int scrollState) {}

        //dumdumdum         
        public void onScroll(AbsListView view, int firstVisibleItem,
                int visibleItemCount, int totalItemCount) {


            //what is the bottom iten that is visible
            int lastInScreen = firstVisibleItem + visibleItemCount;             

            //is the bottom item visible & not loading more already ? Load more !
            if((lastInScreen == totalItemCount) && (loadingMore)){
            Adapter.notifyDataSetChanged(); 
            }
            if((lastInScreen == totalItemCount) && !(loadingMore)){
                i++;
                //on envoie la page a aller chercher
                String page3 = getPage(var_global.URL+"listview.php?login="+login+"&page="+i);
                Log.i(LOG_TAG, page3);

                JSONObject json = JSONfunctions.getJSONfromURL(var_global.URL+"json/listview/"+login+".json");

                try{

                    JSONArray  earthquakes = json.getJSONArray("infos");

                    for(int i=0;i<earthquakes.length();i++){

                        HashMap<String, Object> map = new HashMap<String, Object>();    
                        JSONObject e = earthquakes.getJSONObject(i);

                        //si user == a endlist
                        if (e.getString("user").equals("endlistfshizzle")) {
                            loadingMore = true;
                        }
                        map.put("id",  String.valueOf(i));
                        map.put("name", "infos name:" + e.getString("user"));
                        map.put("age", "age: " +  e.getString("age"));

                        URL pictureURL = new URL(var_global.URL+"upload/thumbs/"+e.getString("image"));
                        Bitmap bitmap = BitmapFactory.decodeStream(pictureURL.openStream());
                        map.put("img",bitmap);              
                        //http://www.imagemagick.org/Usage/thumbnails/                  
                        mylist.add(map);            
                    }       
                }catch(JSONException e)        {
                     Log.e("log_tag", "Error parsing data "+e.toString());
                } catch (MalformedURLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }                           

                Adapter.notifyDataSetChanged();
            }
        }
    });