在Android的列表视图分页 [英] Listview Pagination in android

查看:146
本文介绍了在Android的列表视图分页的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有,我已经显示50元素的列表视图。我已决定分页视图,以便对视图的每一部分有10个元素,然后下一个按钮被点击,以到达下一个10个元素。如何设置10个数据?我按照这篇文章 HTTP://rakhi577.word$p$ pss.com/2013/05/20/listview-pagination-ex-2/ 这是我的code。可你帮我code或如何实现此链接到一个导向是否正确?

 公共类MainActivity扩展ListActivity {


上下文语境;
按钮btnSearch;
的EditText txtSearch;

私人ProgressDialog pDialog;

// URL获得接触JSON

    公众诠释TOTAL_LIST_ITEMS = 50;
    公众诠释NUM_ITEMS_PAGE = 10;
    私人诠释noOfBtns;
    私人按钮[] btns;


// JSON节点名称
私有静态最后弦乐TAG_CONTACTS =人脉;
私有静态最后弦乐TAG_ID =ID;
私有静态最后弦乐TAG_NAME =名;
私有静态最后弦乐TAG_EMAIL =电子邮件;
私有静态最后弦乐TAG_ADDRESS =地址;
私有静态最后弦乐TAG_GENDER =性别;
私有静态最后弦乐TAG_PHONE =手机;
私有静态最后弦乐TAG_PHONE_MOBILE =移动;
私有静态最后弦乐TAG_PHONE_HOME =家;
私有静态最后弦乐TAG_PHONE_OFFICE =办公室;

//联系人JSONArray
JSONArray接触= NULL;

//哈希映射为的ListView
ArrayList的< HashMap的<字符串,字符串>>联系人列表;

@覆盖
公共无效的onCreate(包savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.activity_main);
    btnSearch =(按钮)findViewById(R.id.buttonSearch);
    txtSearch =(EditText上)findViewById(R.id.Searchtext);




}

公共字符串gotourl()
{


    最后的EditText txtSearch =(EditText上)findViewById(R.id.Searchtext);

     字符串TS = txtSearch.getText()的toString()。

     字符串URL = "http://latest.bloomapi.com/api/search?limit=50&offset=0&key1=last_name&op1=eq&value1="+ts;

    返回URL;
}

公共无效Searchfunction(视图v)

{
    Btnfooter();
    // loadList(0);
    CheckBtnBackGroud(0);
    contactList =新的ArrayList< HashMap的<字符串,字符串>>();

    ListView的LV = getListView();




    //列表视图对项目点击监听器
    lv.setOnItemClickListener(新OnItemClickListener(){

        @覆盖
        公共无效onItemClick(适配器视图<>母公司视图中查看,
                INT位置,长的id){



            //从选择列表项获得价值
            字符串名称=((TextView中)view.findViewById(R.id.name))
                    .getText()的toString()。
            串成本=((TextView中)view.findViewById(R.id.email))
                    .getText()的toString()。
            字符串描述=((TextView中)view.findViewById(R.id.mobile))
                    .getText()的toString()。

            //开始单触点活动
            意图=新的意图(getApplicationContext()
                    SingleContactActivity.class);
            in.putExtra(TAG_NAME,姓名);
            in.putExtra(TAG_EMAIL,成本);
            in.putExtra(TAG_PHONE_MOBILE,说明);
            startActivity(在);

        }
    });

    //调用异步任务来获得JSON
    新GetContacts()执行();
}
私人无效Btnfooter()
{
    INT VAL = TOTAL_LIST_ITEMS%NUM_ITEMS_PAGE;
    VAL = VAL == 0?0:1;
    noOfBtns = TOTAL_LIST_ITEMS / NUM_ITEMS_PAGE + VAL;

    的LinearLayout LL =(的LinearLayout)findViewById(R.id.btnLay);

    btns =新按钮[noOfBtns]

    的for(int i = 0; I< noOfBtns;我++)
    {
        btns [我] =新的按钮(这一点);
        btns [I] .setBackgroundColor(getResources()的getColor(android.R.color.transparent)。);
        btns [I] .setText(+第(i + 1));

        LinearLayout.LayoutParams LP =新LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
        ll.addView(btns [我],LP);

        最终诠释J =;
        btns [J] .setOnClickListener(新OnClickListener(){

            公共无效的onClick(视图v)
            {
                // loadList(J);
                CheckBtnBackGroud(J);
            }
        });
    }

}

 私人无效CheckBtnBackGroud(INT指数)
    {

        的for(int i = 0; I< noOfBtns;我++)
        {
            如果(我==指数)
            {
                btns [指数] .setBackgroundDrawable(getResources()getDrawable(R.drawable.box_green)。);
                btns [I] .setTextColor(getResources()的getColor(android.R.color.white)。);
            }
            其他
            {
                btns [I] .setBackgroundColor(getResources()的getColor(android.R.color.transparent)。);
                btns [I] .setTextColor(getResources()的getColor(android.R.color.black)。);
            }
        }

    }




私有类GetContacts扩展的AsyncTask<虚空,虚空,虚空> {

    @覆盖
    在preExecute保护无效(){
        super.on preExecute();
        //显示进度对话框
        pDialog =新ProgressDialog(MainActivity.this);
        pDialog.setMessage(请稍候...);
        pDialog.setCancelable(假);
        pDialog.show();

    }

    @覆盖
    保护无效doInBackground(虚空......为arg0){
        //创建服务处理程序类实例
        ServiceHandler SH =新ServiceHandler();

        //制作一个请求URL并得到响应
        串jsonStr = sh.makeServiceCall(gotourl(),ServiceHandler.GET);

        Log.d(回应:,>中+ jsonStr);

        如果(jsonStr!= NULL){
            尝试 {
                JSONObject的jsonObj =新的JSONObject(jsonStr);

                //获取JSON数组节点
                联系人= jsonObj.getJSONArray(结果);

                //遍历所有联系人
                的for(int i = 0; I< contacts.length();我++){
                    整数= contacts.length();
                    Log.d(循环,a.toString());
                    JSONObject的C = contacts.getJSONObject(我);

                    字符串ID = c.getString(NPI);
                    字符串名称= c.getString(FIRST_NAME);
                    字符串email = c.getString(姓氏);
                    //字符串的地址= c.getString(TAG_ADDRESS);
                    字符串性别= c.getString(类);


                    // TMP的HashMap的单触点
                    HashMap的<字符串,字符串>触点=新的HashMap<字符串,字符串>();

                    //添加每个子节点HashMap中的key =>值
                    contact.put(NPI,身份证);
                    contact.put(FIRST_NAME,名);
                    contact.put(姓氏,邮件);
                    //contact.put(TAG_PHONE_MOBILE,手机);

                    contact.put(类型,性别);
                    //添加联系人到联系人列表
                    contactList.add(接触);
                }
            }赶上(JSONException E){
                e.printStackTrace();
            }
        } 其他 {
            Log.d(ServiceHandler,无法从URL中得到任何数据);


        }

        返回null;
    }

    @覆盖
    保护无效onPostExecute(无效的结果){
        super.onPostExecute(结果);
        //辞退进度对话框
        如果(pDialog.isShowing())
            pDialog.dismiss();
        / **
         *更新解析JSON数据到ListView控件
         * * /
        ListAdapter适配器=新SimpleAdapter(
                MainActivity.this,contactList,
                R.layout.list_item,新的String [] {FIRST_NAME,姓氏,
                        型},新的INT [] {R.id.name,
                        R.id.email,R.id.mobile});

        setListAdapter(适配器);
    }

}}
 


我改变code。当我点击下一步按钮[像2,3,4,5]。显示第一页的数据。这是我修改code.Any帮助鸭preciated:

 公共类MainActivity扩展ListActivity {

私人TextView的称号;
上下文语境;
按钮btnSearch;
的EditText txtSearch;
私人的ListView列表视图;

私人ProgressDialog pDialog;

// URL获得接触JSON

    公众诠释TOTAL_LIST_ITEMS = 50;
    公众诠释NUM_ITEMS_PAGE = 10;
    私人诠释noOfBtns;
    私人按钮[] btns;




// JSON节点名称
私有静态最后弦乐TAG_CONTACTS =人脉;
私有静态最后弦乐TAG_ID =ID;
私有静态最后弦乐TAG_NAME =名;
私有静态最后弦乐TAG_EMAIL =电子邮件;
私有静态最后弦乐TAG_ADDRESS =地址;
私有静态最后弦乐TAG_GENDER =性别;
私有静态最后弦乐TAG_PHONE =手机;
私有静态最后弦乐TAG_PHONE_MOBILE =移动;
私有静态最后弦乐TAG_PHONE_HOME =家;
私有静态最后弦乐TAG_PHONE_OFFICE =办公室;

//联系人JSONArray
JSONArray接触= NULL;

//哈希映射为的ListView
ArrayList的< HashMap的<字符串,字符串>>联系人列表;

@覆盖
公共无效的onCreate(包savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.activity_main);
    btnSearch =(按钮)findViewById(R.id.buttonSearch);
    txtSearch =(EditText上)findViewById(R.id.Searchtext);
    标题=(TextView中)findViewById(R.id.title);

}

公共字符串gotourl()
{


     最后的EditText txtSearch =(EditText上)findViewById(R.id.Searchtext);

     字符串TS = txtSearch.getText()的toString()。

     字符串URL = "http://latest.bloomapi.com/api/search?limit=50&offset=0&key1=last_name&op1=eq&value1="+ts;

     返回URL;
}

公共无效Searchfunction(视图v)

{
    Btnfooter();


    CheckBtnBackGroud(0);
    contactList =新的ArrayList< HashMap的<字符串,字符串>>();

    ListView的LV = getListView();




    //列表视图对项目点击监听器
    lv.setOnItemClickListener(新OnItemClickListener(){

        @覆盖
        公共无效onItemClick(适配器视图<>母公司视图中查看,
                INT位置,长的id){

            如果(位置%2 == 0)
            {
                view.setBackgroundColor(Color.parseColor(#F4FA58));

            }其他
            {
            view.setBackgroundColor(Color.parseColor(#DA81F5));
            }

            //从选择列表项获得价值
            字符串名称=((TextView中)view.findViewById(R.id.name))
                    .getText()的toString()。
            串成本=((TextView中)view.findViewById(R.id.email))
                    .getText()的toString()。
            字符串描述=((TextView中)view.findViewById(R.id.mobile))
                    .getText()的toString()。

            //开始单触点活动
            意图=新的意图(getApplicationContext()
                    SingleContactActivity.class);
            in.putExtra(TAG_NAME,姓名);
            in.putExtra(TAG_EMAIL,成本);
            in.putExtra(TAG_PHONE_MOBILE,说明);
            startActivity(在);

        }
    });

    //调用异步任务来获得JSON
    新GetContacts()执行();
}
私人无效Btnfooter()
{
    INT VAL = TOTAL_LIST_ITEMS%NUM_ITEMS_PAGE;
    VAL = VAL == 0?0:1;
    noOfBtns = TOTAL_LIST_ITEMS / NUM_ITEMS_PAGE + VAL;

    的LinearLayout LL =(的LinearLayout)findViewById(R.id.btnLay);

    btns =新按钮[noOfBtns]

    的for(int i = 0; I< noOfBtns;我++)
    {
        btns [我] =新的按钮(这一点);
        btns [I] .setBackgroundColor(getResources()的getColor(android.R.color.transparent)。);
        btns [I] .setText(+第(i + 1));

        LinearLayout.LayoutParams LP =新LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
        ll.addView(btns [我],LP);

        最终诠释J =;
        btns [J] .setOnClickListener(新OnClickListener(){

            公共无效的onClick(视图v)
            {

                新GetContacts()执行();
                CheckBtnBackGroud(J);
            }


        });
    }

}

 私人无效CheckBtnBackGroud(INT指数)
    {
      title.setText(页+(索引+1)+ noOfBtns的);
        的for(int i = 0; I< noOfBtns;我++)
        {
            如果(我==指数)
            {
                btns [指数] .setBackgroundDrawable(getResources()getDrawable(R.drawable.box_green)。);
                btns [I] .setTextColor(getResources()的getColor(android.R.color.white)。);
            }
            其他
            {
                btns [I] .setBackgroundColor(getResources()的getColor(android.R.color.transparent)。);
                btns [I] .setTextColor(getResources()的getColor(android.R.color.black)。);
            }
        }

    }




私有类GetContacts扩展的AsyncTask<虚空,虚空,虚空> {

    @覆盖
    在preExecute保护无效(){
        super.on preExecute();
        //显示进度对话框
        pDialog =新ProgressDialog(MainActivity.this);
        pDialog.setMessage(请稍候...);
        pDialog.setCancelable(假);
        pDialog.show();

    }

    @覆盖
    保护无效doInBackground(虚空......为arg0){
        //创建服务处理程序类实例
        ServiceHandler SH =新ServiceHandler();

        //制作一个请求URL并得到响应
        串jsonStr = sh.makeServiceCall(gotourl(),ServiceHandler.GET);

        Log.d(回应:,>中+ jsonStr);

        如果(jsonStr!= NULL){
            尝试 {
                JSONObject的jsonObj =新的JSONObject(jsonStr);

                INT编号= 0;
                INT开始=数量* NUM_ITEMS_PAGE;


                //遍历所有联系人




                //获取JSON数组节点
                联系人= jsonObj.getJSONArray(结果);

                //遍历所有联系人
                //的for(int i = 0; I< contacts.length();我++){
                对于(INT I =启动;我≤(开始)+ NUM_ITEMS_PAGE;我++){


                    整数= contacts.length();
                    Log.d(循环,a.toString());
                    JSONObject的C = contacts.getJSONObject(我);

                    字符串ID = c.getString(NPI);
                    字符串名称= c.getString(FIRST_NAME);
                    字符串email = c.getString(姓氏);

                    字符串性别= c.getString(类);


                    // TMP的HashMap的单触点
                    HashMap的<字符串,字符串>触点=新的HashMap<字符串,字符串>();

                    //添加每个子节点HashMap中的key =>值
                    contact.put(NPI,身份证);
                    contact.put(FIRST_NAME,名);
                    contact.put(姓氏,邮件);
                    //contact.put(TAG_PHONE_MOBILE,手机);

                    contact.put(类型,性别);
                    //添加联系人到联系人列表
                    contactList.add(接触);
                }
            }赶上(JSONException E){
                e.printStackTrace();
            }
        } 其他 {
            Log.d(ServiceHandler,无法从URL中得到任何数据);


        }

        返回null;
    }



    @覆盖
    保护无效onPostExecute(无效的结果){
        super.onPostExecute(结果);
        //辞退进度对话框
        如果(pDialog.isShowing())
            pDialog.dismiss();
        / **
         *更新解析JSON数据到ListView控件
         * * /
        ListAdapter适配器=新SimpleAdapter(
                MainActivity.this,contactList,
                R.layout.list_item,新的String [] {FIRST_NAME,姓氏,
                        型},新的INT [] {R.id.name,
                        R.id.email,R.id.mobile});

        setListAdapter(适配器);
    }

}}
 

解决方案

下面是我的code,显示列表视图分页。有两个蓝色按钮,更改网页。

您可以根据需要定制。

创建UserCategory.java

 包com.UserCategory;
进口的java.net.URL;
进口的java.util.ArrayList;
进口javax.xml.parsers.DocumentBuilder中;
进口javax.xml.parsers.DocumentBuilderFactory中;
进口org.w3c.dom.Document中;
进口org.w3c.dom.Element中;
进口org.w3c.dom.Node中;
进口org.w3c.dom.NodeList;
进口org.xml.sax.InputSource中;
进口android.app.Activity;
进口android.content.pm.ActivityInfo;
进口android.os.Bundle;
进口android.view.View;
进口android.view.View.OnClickListener;
进口android.view.Window;
进口android.widget.ArrayAdapter;
进口android.widget.EditText;
进口android.widget.ImageView;
进口android.widget.ListView;

公共类UserCategory扩展活动实现OnClickListener {
私人最终诠释PAGE_SIZE = 5;
私人诠释StartingIndex = 0;
ArrayList的<字符串> userClass =新的ArrayList<字符串>();
INT长度限制:Textlength = 0;

私人字符串lv_arr [];
私人的ListView LV1;
的EditText searchText;

//按钮previous;

私人拉线机[] = {机器1,机器2,机器3,机4,机5,机6,机7,机8,机9 ,机10,机11,机12,机器1,机器2,机器3,机4,机5,机6,机7 ,机8,9机,机10,11机,机12};
ImageView的旁边,previous;

@覆盖
公共无效的onCreate(包savedInstanceState){
    super.onCreate(savedInstanceState);
      。this.getWindow()requestFeature(Window.FEATURE_NO_TITLE);
      setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        的setContentView(R.layout.main);
        LV1 =(ListView控件)findViewById(R.id.ListView01);
        sea​​rchText =(EditText上)findViewById(R.id.et_Serchlist);
        接下来=(ImageView的)findViewById(R.id.btn_next);
        previous =(ImageView的)findViewById(R.id.btn_ previous);
        next.setOnClickListener(本);
        previous.setOnClickListener(本);
     //解析();
    lv1.setAdapter(新ArrayAdapter<字符串>(这一点,android.R.layout.simple_list_item_1,机));
    changeListViewModel(0);


   }
私人无效变更(INT startingIndex){

    如果(startingIndex℃,){
        previous =(ImageView的)findViewById(R.id.btn_ previous);
        ImageView的背=(ImageView的)findViewById(R.id.btn_White previous);
        back.setVisibility(1);
        previous.setVisibility(4);
        startingIndex = 0;
    }否则如果(startingIndex> = userClass.size())
        startingIndex  -  = PAGE_SIZE;
    StartingIndex = startingIndex;
    INT endingIndex = startingIndex + PAGE_SIZE;

    的System.out.println(结束索​​引+ endingIndex);
    如果(StartingIndex!= 0){
        previous =(ImageView的)findViewById(R.id.btn_ previous);
        ImageView的背=(ImageView的)findViewById(R.id.btn_White previous);
        back.setVisibility(4);
        previous.setVisibility(1);


    }
    如果(endingIndex == userClass.size()){
        ImageView的正向=(ImageView的)findViewById(R.id.btn_grewforward);
        Forward.setVisibility(1);
         接下来=(ImageView的)findViewById(R.id.btn_next);
         next.setVisibility(4);
    }
    如果(endingIndex!= userClass.size()){
        ImageView的正向=(ImageView的)findViewById(R.id.btn_grewforward);
        Forward.setVisibility(4);
         接下来=(ImageView的)findViewById(R.id.btn_next);
         next.setVisibility(1);
    }
    如果(endingIndex> userClass.size())endingIndex = userClass.size();
    尝试 {

        的String [] =的subSet getDataSubset1(startingIndex,endingIndex);
        的System.out.println(数组的subSet+子集);
        lv1.setAdapter(新ArrayAdapter<字符串>(这一点,android.R.layout.simple_list_item_1,子集));

    }赶上(例外五){
        e.printStackTrace();
    }
}
私有String [] getDataSubset1(INT startingIndex,诠释endingIndex){
    的String []变更=新的String [endingIndex  -  startingIndex]。
    INT指数= -1;
    对于(INT X = startingIndex,X< endingIndex; X ++)

        变更[++指数= userClass.get(X);


    返回变更;

}

私人无效changeListViewModel(INT startingIndex){

    如果(startingIndex℃,){
        previous =(ImageView的)findViewById(R.id.btn_ previous);
        ImageView的背=(ImageView的)findViewById(R.id.btn_White previous);
        back.setVisibility(1);
        previous.setVisibility(4);
        startingIndex = 0;
    }

    否则,如果(startingIndex> = Machine.length){

        startingIndex  -  = PAGE_SIZE;
    }
        的System.out.println(strating+ startingIndex);

    的System.out.println(startingIndex+ startingIndex);
    StartingIndex = startingIndex;
    INT endingIndex = startingIndex + PAGE_SIZE;
    的System.out.println(endingIndex+ endingIndex);
     如果(StartingIndex!= 0)
     {
        previous =(ImageView的)findViewById(R.id.btn_ previous);
        ImageView的背=(ImageView的)findViewById(R.id.btn_White previous);
        back.setVisibility(4);
        previous.setVisibility(1);
        }
     如果(endingIndex == userClass.size()){
            ImageView的正向=(ImageView的)findViewById(R.id.btn_grewforward);
            Forward.setVisibility(1);
             接下来=(ImageView的)findViewById(R.id.btn_next);
             next.setVisibility(4);
        }
     如果(endingIndex!= userClass.size()){
            ImageView的正向=(ImageView的)findViewById(R.id.btn_grewforward);
            Forward.setVisibility(4);
             接下来=(ImageView的)findViewById(R.id.btn_next);
             next.setVisibility(1);
        }
    的System.out.println(结束索​​引+ endingIndex);
    如果(endingIndex> Machine.length){

        endingIndex = Machine.length;
        ImageView的正向=(ImageView的)findViewById(R.id.btn_grewforward);
        Forward.setVisibility(1);
         接下来=(ImageView的)findViewById(R.id.btn_next);
         next.setVisibility(4);
    }


    的String [] =的subSet getDataSubset(startingIndex,endingIndex);
    的System.out.println(主的subSet阵+ subSet.length);
    lv1.setAdapter(新ArrayAdapter<字符串>(这一点,android.R.layout.simple_list_item_1,子集));
}

私有String [] getDataSubset(INT startingIndex,诠释endingIndex){
    的String [] toRet =新的String [endingIndex  -  startingIndex]。
    INT指数= -1;
    的System.out.println(指数+指数);
    对于(INT X = startingIndex,X< endingIndex; X ++)
        toRet [++指数=机[X]

    返回toRet;

}
私人无效解析(){
    // TODO自动生成方法存根
    尝试 {

        网址URL =新的URL(http://10.10.1.100/DogEventsWebService/EventService.svc/categories/1);
        DocumentBuilderFactory的DBF = DocumentBuilderFactory.newInstance();
        DocumentBuilder的DB = dbf.newDocumentBuilder();
        文档的文档= db.parse(新的InputSource(url.openStream()));
        doc.getDocumentElement()归()。

        节点列表节点列表= doc.getElementsByTagName(UserCategory);
        机器=新的String [nodeList.getLength()];


        的for(int i = 0; I< nodeList.getLength();我++)
        {

            节点node = nodeList.item(ⅰ);
            机[我] =新的String();

            元素fstElmnt =(元)节点;
            节点列表名单= fstElmnt.getElementsByTagName(ClassDescription);
            元件nameElement =(元件)nameList.item(0);
            名单= nameElement.getChildNodes();
            机[I] =((节点)nameList.item(0))getNodeValue()。
         }

        的System.out.println(之后循环机+机);

    }赶上(例外五){
        的System.out.println(XML帕兴Excpetion =+ E);
    }
}
@覆盖
公共无效的onClick(视图v){
    // TODO自动生成方法存根
    开关(v.getId()){
    案例R.id.btn_next:

        。=长度限制:Textlength searchText.getText()长度();
        的System.out.println(Next按钮+长度限制:Textlength);
        如果(==长度限制:Textlength 0){
            changeListViewModel(StartingIndex + PAGE_SIZE);
        }其他{
            变更(StartingIndex + PAGE_SIZE);
            }

        打破;
    案例R.id.btn_ previous:
        。=长度限制:Textlength searchText.getText()长度();
        如果(==长度限制:Textlength 0){
        changeListViewModel(StartingIndex  -  PAGE_SIZE);
        }其他{
        变更(StartingIndex  -  PAGE_SIZE);
        }
         打破;
        默认:
        打破;
     }
}
 

}

创建main.xml中:

 < XML版本=1.0编码=UTF-8&GT?;
< RelativeLayout的的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    机器人:方向=垂直
    机器人:layout_width =FILL_PARENT
    机器人:layout_height =FILL_PARENT
    >
    <查看安卓layout_height =35dp
      机器人:layout_width =FILL_PARENT
      机器人:后台=#FFFFFF/>
  < TextView的机器人:ID =@ + ID / tv_header
       机器人:layout_width =WRAP_CONTENT
       机器人:layout_height =WRAP_CONTENT
       机器人:文本=@字符串/你好
       机器人:layout_alignParentTop =真
       机器人:layout_marginLeft =0dp
       机器人:TEXTSIZE =25dp/>
       <的EditText
       机器人:ID =@ + ID / et_Serchlist
     机器人:layout_height =35dp
     机器人:以下属性来=19dp
      机器人:layout_marginLeft =60dp
     机器人:layout_toRightOf =@ + ID / tv_header
     机器人:最大长度=20
     机器人:MAXLINES =1
     机器人:inputType =文本
     机器人:提示=搜索
     机器人:文字颜色=#FFFFFF
     机器人:背景=@可绘制/ my_border
     机器人:layout_width =100dip/>
  <的ListView
   机器人:ID =@ + ID / ListView01
   机器人:layout_width =FILL_PARENT
   机器人:TEXTSIZE =递四方
   机器人:layout_below =@ + ID / tv_header
   机器人:layout_above =@ + ID / btn_ previous
   机器人:layout_height =WRAP_CONTENT/>
     <查看安卓layout_height =55dp
       机器人:layout_below =@ + ID / ListView0
       机器人:layout_alignParentBottom =真
       机器人:layout_width =FILL_PARENT
       机器人:后台=#FFFFFF/>
        < ImageView的
        机器人:SRC =@可绘制/增长previous
        机器人:ID =@ + ID / btn_White previous
        机器人:layout_width =WRAP_CONTENT
       机器人:layout_marginLeft =12dp
    机器人:layout_marginBottom =6DP
    机器人:layout_below =@ + ID / ListView0
   机器人:能见度=隐形
        机器人:layout_alignParentBottom =真
        机器人:layout_height =WRAP_CONTENT/>
      < ImageView的
        机器人:SRC =@可绘制/右
        机器人:ID =@ + ID / btn_grewforward
        机器人:layout_width =WRAP_CONTENT
        机器人:layout_marginLeft =259dp
        机器人:layout_marginBottom =6DP
        机器人:layout_below =@ + ID / ListView0
        机器人:能见度=隐形
        机器人:layout_alignParentBottom =真
        机器人:layout_height =WRAP_CONTENT/>
     < ImageView的
        机器人:SRC =@可绘制/后退
       机器人:ID =@ + ID / btn_ previous
       机器人:layout_width =WRAP_CONTENT
       机器人:layout_height =WRAP_CONTENT
       机器人:layout_alignParentBottom =真
       机器人:layout_marginLeft =12dp
       机器人:layout_marginBottom =6DP
       机器人:layout_below =@ + ID / ListView0
       机器人:的onClick =backButtonClicked/>

    < ImageView的机器人:SRC =@可绘制/前进
     机器人:ID =@ + ID / btn_next
    机器人:layout_width =80dp
    机器人:layout_marginBottom =6DP
    机器人:layout_height =WRAP_CONTENT
        机器人:layout_alignParentBottom =真
   机器人:layout_below =@ + ID / ListView0
   机器人:layout_marginLeft =249dp
    机器人:文本=下一步
    机器人:的onClick =nextButtonClicked/>
< / RelativeLayout的>
 

创建userlist.xml

 < XML版本=1.0编码=UTF-8&GT?;
<的LinearLayout
   的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
   机器人:layout_width =match_parent
    机器人:layout_height =match_parent>
  < TextView的机器人:ID =@ + ID / tv_className
   机器人:layout_height =WRAP_CONTENT
   机器人:layout_width =WRAP_CONTENT/>
< / LinearLayout中>
 

添加my_border.xml到绘制对象文件夹:

 < XML版本=1.0编码=UTF-8&GT?;
<形状的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android>
<行程机器人:宽=2DIP机器人:颜色=#ee777777/>
[固体机器人:颜色=#ee444444/>
<填充
   机器人:左=20dip
  机器人:顶部=2DIP
  机器人:右=20dip
  机器人:底部=2DIP/>
<边角机器人:半径=15dip/>
![在此输入图片说明] [1]; /形状>
 

如果它给出错误iamges然后使用任何其他的图像和运行应用程序。

让我知道它是为你工作。

感谢

I have a listview where I have 50 elements being displayed. I have decided to paginate the view so on each part of the view there are 10 elements and then a next button is clicked to get to the next 10 elements. How can i set 10 data ? I follow this article http://rakhi577.wordpress.com/2013/05/20/listview-pagination-ex-2/ Here is my code .Can you help me with my code or a link to a guide on how to implement this correctly?

public class MainActivity extends ListActivity {


Context context;
Button btnSearch ;
EditText txtSearch;

private ProgressDialog pDialog;

// URL to get contacts JSON

    public int TOTAL_LIST_ITEMS = 50;
    public int NUM_ITEMS_PAGE   = 10;
    private int noOfBtns;
    private Button[] btns;


// JSON Node names
private static final String TAG_CONTACTS = "contacts";
private static final String TAG_ID = "id";
private static final String TAG_NAME = "name";
private static final String TAG_EMAIL = "email";
private static final String TAG_ADDRESS = "address";
private static final String TAG_GENDER = "gender";
private static final String TAG_PHONE = "phone";
private static final String TAG_PHONE_MOBILE = "mobile";
private static final String TAG_PHONE_HOME = "home";
private static final String TAG_PHONE_OFFICE = "office";

// contacts JSONArray
JSONArray contacts = null;

// Hashmap for ListView
ArrayList<HashMap<String, String>> contactList;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    btnSearch=(Button)findViewById(R.id.buttonSearch);
    txtSearch=(EditText)findViewById(R.id.Searchtext);




}

public String gotourl()
{


    final  EditText txtSearch=(EditText)findViewById(R.id.Searchtext);

     String ts=txtSearch.getText().toString();

     String url = "http://latest.bloomapi.com/api/search?limit=50&offset=0&key1=last_name&op1=eq&value1="+ts;

    return url ;
}

public void Searchfunction(View v)

{
    Btnfooter();
    //loadList(0);
    CheckBtnBackGroud(0);
    contactList = new ArrayList<HashMap<String, String>>();

    ListView lv = getListView();




    // Listview on item click listener
    lv.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {



            // getting values from selected ListItem
            String name = ((TextView) view.findViewById(R.id.name))
                    .getText().toString();
            String cost = ((TextView) view.findViewById(R.id.email))
                    .getText().toString();
            String description = ((TextView) view.findViewById(R.id.mobile))
                    .getText().toString();

            // Starting single contact activity
            Intent in = new Intent(getApplicationContext(),
                    SingleContactActivity.class);
            in.putExtra(TAG_NAME, name);
            in.putExtra(TAG_EMAIL, cost);
            in.putExtra(TAG_PHONE_MOBILE, description);
            startActivity(in);

        }
    });

    // Calling async task to get json
    new GetContacts().execute();    
}
private void Btnfooter()
{
    int val = TOTAL_LIST_ITEMS%NUM_ITEMS_PAGE;
    val = val==0?0:1;
    noOfBtns=TOTAL_LIST_ITEMS/NUM_ITEMS_PAGE+val;

    LinearLayout ll = (LinearLayout)findViewById(R.id.btnLay);

    btns    =new Button[noOfBtns];

    for(int i=0;i<noOfBtns;i++)
    {
        btns[i] =   new Button(this);
        btns[i].setBackgroundColor(getResources().getColor(android.R.color.transparent));
        btns[i].setText(""+(i+1));

        LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        ll.addView(btns[i], lp);

        final int j = i;
        btns[j].setOnClickListener(new OnClickListener() {

            public void onClick(View v) 
            {
                //loadList(j);
                CheckBtnBackGroud(j);
            }
        });
    }

}

 private void CheckBtnBackGroud(int index)
    {

        for(int i=0;i<noOfBtns;i++)
        {
            if(i==index)
            {
                btns[index].setBackgroundDrawable(getResources().getDrawable(R.drawable.box_green));
                btns[i].setTextColor(getResources().getColor(android.R.color.white));
            }
            else
            {
                btns[i].setBackgroundColor(getResources().getColor(android.R.color.transparent));
                btns[i].setTextColor(getResources().getColor(android.R.color.black));
            }
        }

    }




private class GetContacts extends AsyncTask<Void, Void, Void> {

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        // Showing progress dialog
        pDialog = new ProgressDialog(MainActivity.this);
        pDialog.setMessage("Please wait...");
        pDialog.setCancelable(false);
        pDialog.show();

    }

    @Override
    protected Void doInBackground(Void... arg0) {
        // Creating service handler class instance
        ServiceHandler sh = new ServiceHandler();

        // Making a request to url and getting response
        String jsonStr = sh.makeServiceCall(gotourl(), ServiceHandler.GET);

        Log.d("Response: ", "> " + jsonStr);

        if (jsonStr != null) {
            try {
                JSONObject jsonObj = new JSONObject(jsonStr);

                // Getting JSON Array node
                contacts = jsonObj.getJSONArray("result");

                // looping through All Contacts
                for (int i = 0; i < contacts.length(); i++) {
                    Integer a = contacts.length();
                    Log.d("loop", a.toString());
                    JSONObject c = contacts.getJSONObject(i);

                    String id = c.getString("npi");
                    String name = c.getString("first_name");
                    String email = c.getString("last_name");
                    //String address = c.getString(TAG_ADDRESS);
                    String gender = c.getString("type");


                    // tmp hashmap for single contact
                    HashMap<String, String> contact = new HashMap<String, String>();

                    // adding each child node to HashMap key => value
                    contact.put("npi", id);
                    contact.put("first_name", name);
                    contact.put("last_name", email);
                    //contact.put(TAG_PHONE_MOBILE, mobile);

                    contact.put("type", gender);
                    // adding contact to contact list
                    contactList.add(contact);
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }
        } else {
            Log.d("ServiceHandler", "Couldn't get any data from the url");


        }

        return null;
    }

    @Override
    protected void onPostExecute(Void result) {
        super.onPostExecute(result);
        // Dismiss the progress dialog
        if (pDialog.isShowing())
            pDialog.dismiss();
        /**
         * Updating parsed JSON data into ListView
         * */
        ListAdapter adapter = new SimpleAdapter(
                MainActivity.this, contactList,
                R.layout.list_item, new String[] { "first_name", "last_name",
                        "type" }, new int[] { R.id.name,
                        R.id.email, R.id.mobile });

        setListAdapter(adapter);
    }

}}


I change the code. When i click next button[like 2,3,4,5]. showing first page data. Here is my modified code.Any help Appreciated :

public class MainActivity extends ListActivity {

private TextView title;
Context context;
Button btnSearch ;
EditText txtSearch;
private ListView listview;

private ProgressDialog pDialog;

// URL to get contacts JSON

    public int TOTAL_LIST_ITEMS = 50;
    public int NUM_ITEMS_PAGE   = 10;
    private int noOfBtns;
    private Button[] btns;




// JSON Node names
private static final String TAG_CONTACTS = "contacts";
private static final String TAG_ID = "id";
private static final String TAG_NAME = "name";
private static final String TAG_EMAIL = "email";
private static final String TAG_ADDRESS = "address";
private static final String TAG_GENDER = "gender";
private static final String TAG_PHONE = "phone";
private static final String TAG_PHONE_MOBILE = "mobile";
private static final String TAG_PHONE_HOME = "home";
private static final String TAG_PHONE_OFFICE = "office";

// contacts JSONArray
JSONArray contacts = null;

// Hashmap for ListView
ArrayList<HashMap<String, String>> contactList;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    btnSearch=(Button)findViewById(R.id.buttonSearch);
    txtSearch=(EditText)findViewById(R.id.Searchtext);
    title    = (TextView)findViewById(R.id.title);

}

public String gotourl()
{


     final  EditText txtSearch=(EditText)findViewById(R.id.Searchtext);

     String ts=txtSearch.getText().toString();

     String url = "http://latest.bloomapi.com/api/search?limit=50&offset=0&key1=last_name&op1=eq&value1="+ts;

     return url ;
}

public void Searchfunction(View v)

{
    Btnfooter();


    CheckBtnBackGroud(0);
    contactList = new ArrayList<HashMap<String, String>>();

    ListView lv = getListView();




    // Listview on item click listener
    lv.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {

            if(position%2==0)
            {
                view.setBackgroundColor(Color.parseColor("#F4FA58"));

            }else
            {
            view.setBackgroundColor(Color.parseColor("#DA81F5"));
            }

            // getting values from selected ListItem
            String name = ((TextView) view.findViewById(R.id.name))
                    .getText().toString();
            String cost = ((TextView) view.findViewById(R.id.email))
                    .getText().toString();
            String description = ((TextView) view.findViewById(R.id.mobile))
                    .getText().toString();

            // Starting single contact activity
            Intent in = new Intent(getApplicationContext(),
                    SingleContactActivity.class);
            in.putExtra(TAG_NAME, name);
            in.putExtra(TAG_EMAIL, cost);
            in.putExtra(TAG_PHONE_MOBILE, description);
            startActivity(in);

        }
    });

    // Calling async task to get json
    new GetContacts().execute();    
}
private void Btnfooter()
{
    int val = TOTAL_LIST_ITEMS%NUM_ITEMS_PAGE;
    val = val==0?0:1;
    noOfBtns=TOTAL_LIST_ITEMS/NUM_ITEMS_PAGE+val;

    LinearLayout ll = (LinearLayout)findViewById(R.id.btnLay);

    btns    =new Button[noOfBtns];

    for(int i=0;i<noOfBtns;i++)
    {
        btns[i] =   new Button(this);
        btns[i].setBackgroundColor(getResources().getColor(android.R.color.transparent));
        btns[i].setText(""+(i+1));

        LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        ll.addView(btns[i], lp);

        final int j = i;
        btns[j].setOnClickListener(new OnClickListener() {

            public void onClick(View v) 
            {

                new GetContacts().execute();    
                CheckBtnBackGroud(j);
            }


        });
    }

}

 private void CheckBtnBackGroud(int index)
    {
      title.setText("Page "+(index+1)+" of "+noOfBtns);
        for(int i=0;i<noOfBtns;i++)
        {
            if(i==index)
            {
                btns[index].setBackgroundDrawable(getResources().getDrawable(R.drawable.box_green));
                btns[i].setTextColor(getResources().getColor(android.R.color.white));
            }
            else
            {
                btns[i].setBackgroundColor(getResources().getColor(android.R.color.transparent));
                btns[i].setTextColor(getResources().getColor(android.R.color.black));
            }
        }

    }




private class GetContacts extends AsyncTask<Void, Void, Void> {

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        // Showing progress dialog
        pDialog = new ProgressDialog(MainActivity.this);
        pDialog.setMessage("Please wait...");
        pDialog.setCancelable(false);
        pDialog.show();

    }

    @Override
    protected Void doInBackground(Void... arg0) {
        // Creating service handler class instance
        ServiceHandler sh = new ServiceHandler();

        // Making a request to url and getting response
        String jsonStr = sh.makeServiceCall(gotourl(), ServiceHandler.GET);

        Log.d("Response: ", "> " + jsonStr);

        if (jsonStr != null) {
            try {
                JSONObject jsonObj = new JSONObject(jsonStr);

                int number = 0;
                int start = number * NUM_ITEMS_PAGE;


                // looping through All Contacts




                // Getting JSON Array node
                contacts = jsonObj.getJSONArray("result");

                // looping through All Contacts
                //for (int i = 0; i < contacts.length(); i++) {
                for(int i=start;i<(start)+NUM_ITEMS_PAGE;i++) {


                    Integer a = contacts.length();
                    Log.d("loop", a.toString());
                    JSONObject c = contacts.getJSONObject(i);

                    String id = c.getString("npi");
                    String name = c.getString("first_name");
                    String email = c.getString("last_name");

                    String gender = c.getString("type");


                    // tmp hashmap for single contact
                    HashMap<String, String> contact = new HashMap<String, String>();

                    // adding each child node to HashMap key => value
                    contact.put("npi", id);
                    contact.put("first_name", name);
                    contact.put("last_name", email);
                    //contact.put(TAG_PHONE_MOBILE, mobile);

                    contact.put("type", gender);
                    // adding contact to contact list
                    contactList.add(contact);
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }
        } else {
            Log.d("ServiceHandler", "Couldn't get any data from the url");


        }

        return null;
    }



    @Override
    protected void onPostExecute(Void result) {
        super.onPostExecute(result);
        // Dismiss the progress dialog
        if (pDialog.isShowing())
            pDialog.dismiss();
        /**
         * Updating parsed JSON data into ListView
         * */
        ListAdapter adapter = new SimpleAdapter(
                MainActivity.this, contactList,
                R.layout.list_item, new String[] { "first_name", "last_name",
                        "type" }, new int[] { R.id.name,
                        R.id.email, R.id.mobile });

        setListAdapter(adapter);
    }

}}

解决方案

Below is my code to show list view with pagination. There is two blue button for change pages.

You can customize according to you need.

Create UserCategory.java

    package com.UserCategory;
import java.net.URL;
import java.util.ArrayList;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import android.app.Activity;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ListView;

public class UserCategory extends Activity implements OnClickListener{
private final int PAGE_SIZE = 5;
private int StartingIndex = 0;
ArrayList<String> userClass=new ArrayList<String>();
int textlength=0;

private String lv_arr[];
private ListView lv1;
EditText searchText;

//Button Previous;

private String Machine[]={"Machine 1","Machine 2","Machine 3","Machine 4","Machine 5","Machine 6","Machine 7","Machine 8","Machine 9","Machine 10","Machine 11","Machine 12","Machine 1","Machine 2","Machine 3","Machine 4","Machine 5","Machine 6","Machine 7","Machine 8","Machine 9","Machine 10","Machine 11","Machine 12"};
ImageView next,Previous;

@Override        
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
      this.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
      setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        setContentView(R.layout.main);
        lv1=(ListView)findViewById(R.id.ListView01);
        searchText=(EditText)findViewById(R.id.et_Serchlist);
        next=(ImageView)findViewById(R.id.btn_next);
        Previous=(ImageView)findViewById(R.id.btn_previous);
        next.setOnClickListener(this);
        Previous.setOnClickListener(this);       
     //parsing();
    lv1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , Machine));
    changeListViewModel(0);


   }
private void changelist(int startingIndex) {

    if(startingIndex < 0) {
        Previous=(ImageView)findViewById(R.id.btn_previous);
        ImageView back=(ImageView)findViewById(R.id.btn_Whiteprevious);
        back.setVisibility(1);
        Previous.setVisibility(4);
        startingIndex = 0;
    }else if(startingIndex >= userClass.size())
        startingIndex -= PAGE_SIZE;
    StartingIndex   = startingIndex;
    int endingIndex = startingIndex + PAGE_SIZE;

    System.out.println("ending index"+endingIndex);
    if(StartingIndex!=0){
        Previous=(ImageView)findViewById(R.id.btn_previous);
        ImageView back=(ImageView)findViewById(R.id.btn_Whiteprevious);
        back.setVisibility(4);
        Previous.setVisibility(1);


    }
    if(endingIndex == userClass.size()){
        ImageView Forward=(ImageView)findViewById(R.id.btn_grewforward);
        Forward.setVisibility(1);
         next=(ImageView)findViewById(R.id.btn_next);
         next.setVisibility(4);
    }
    if(endingIndex != userClass.size()){
        ImageView Forward=(ImageView)findViewById(R.id.btn_grewforward);
        Forward.setVisibility(4);
         next=(ImageView)findViewById(R.id.btn_next);
         next.setVisibility(1);
    }
    if(endingIndex > userClass.size()) endingIndex = userClass.size();
    try {

        String[] subSet = getDataSubset1(startingIndex, endingIndex);
        System.out.println("subSet array"+subSet);
        lv1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , subSet));

    } catch (Exception e) {
        e.printStackTrace();
    }
}
private String[] getDataSubset1(int startingIndex, int endingIndex){
    String[] changeList = new String[endingIndex - startingIndex];
    int index = -1;
    for(int x = startingIndex; x < endingIndex; x++)

        changeList[++index] = userClass.get(x);


    return changeList;

}

private void changeListViewModel(int startingIndex){

    if(startingIndex < 0) {
        Previous=(ImageView)findViewById(R.id.btn_previous);
        ImageView back=(ImageView)findViewById(R.id.btn_Whiteprevious);
        back.setVisibility(1);
        Previous.setVisibility(4);
        startingIndex = 0;
    }

    else if(startingIndex >= Machine.length){

        startingIndex -= PAGE_SIZE;
    }
        System.out.println("strating"+startingIndex);

    System.out.println("startingIndex"+startingIndex);
    StartingIndex   = startingIndex;
    int endingIndex = startingIndex + PAGE_SIZE;
    System.out.println("endingIndex"+endingIndex);
     if(StartingIndex!=0)
     {
        Previous=(ImageView)findViewById(R.id.btn_previous);
        ImageView back=(ImageView)findViewById(R.id.btn_Whiteprevious);
        back.setVisibility(4);
        Previous.setVisibility(1);
        }
     if(endingIndex == userClass.size()){
            ImageView Forward=(ImageView)findViewById(R.id.btn_grewforward);
            Forward.setVisibility(1);
             next=(ImageView)findViewById(R.id.btn_next);
             next.setVisibility(4);
        }
     if(endingIndex != userClass.size()){
            ImageView Forward=(ImageView)findViewById(R.id.btn_grewforward);
            Forward.setVisibility(4);
             next=(ImageView)findViewById(R.id.btn_next);
             next.setVisibility(1);
        }
    System.out.println("ending index"+endingIndex);
    if(endingIndex > Machine.length) {

        endingIndex = Machine.length;
        ImageView Forward=(ImageView)findViewById(R.id.btn_grewforward);
        Forward.setVisibility(1);
         next=(ImageView)findViewById(R.id.btn_next);
         next.setVisibility(4);
    }


    String[] subSet = getDataSubset(startingIndex, endingIndex);
    System.out.println("subSet main array"+subSet.length);
    lv1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , subSet));
}

private String[] getDataSubset(int startingIndex, int endingIndex){
    String[] toRet = new String[endingIndex - startingIndex];
    int index = -1;
    System.out.println("index"+index);
    for(int x = startingIndex; x < endingIndex; x++)
        toRet[++index] = Machine[x];

    return toRet;

}
private void parsing() {
    // TODO Auto-generated method stub
    try {

        URL url = new URL("http://10.10.1.100/DogEventsWebService/EventService.svc/categories/1");
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = dbf.newDocumentBuilder();
        Document doc = db.parse(new InputSource(url.openStream()));
        doc.getDocumentElement().normalize();

        NodeList nodeList = doc.getElementsByTagName("UserCategory");
        Machine = new String[nodeList.getLength()];


        for (int i = 0; i < nodeList.getLength(); i++) 
        {

            Node node = nodeList.item(i);
            Machine[i] = new String();

            Element fstElmnt = (Element) node;
            NodeList nameList = fstElmnt.getElementsByTagName("ClassDescription");
            Element nameElement = (Element) nameList.item(0);
            nameList = nameElement.getChildNodes();
            Machine[i]=((Node) nameList.item(0)).getNodeValue();
         }

        System.out.println("after for loop Machine"+Machine);

    } catch (Exception e) {
        System.out.println("XML Pasing Excpetion = " + e);
    }
}
@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    switch (v.getId()) {
    case R.id.btn_next:

        textlength=searchText.getText().length();
        System.out.println("nextbutton"+textlength);
        if(textlength==0){
            changeListViewModel(StartingIndex + PAGE_SIZE);
        }else{
            changelist(StartingIndex + PAGE_SIZE);
            }

        break;
    case R.id.btn_previous:
        textlength=searchText.getText().length();
        if(textlength==0){
        changeListViewModel(StartingIndex - PAGE_SIZE);
        }else{
        changelist(StartingIndex - PAGE_SIZE);
        }
         break;
        default:
        break;
     }
}

}

create main.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <View android:layout_height="35dp" 
      android:layout_width="fill_parent" 
      android:background="#ffffff"/>
  <TextView  android:id="@+id/tv_header"
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="@string/hello" 
       android:layout_alignParentTop="true" 
       android:layout_marginLeft="0dp"
       android:textSize="25dp"/>
       <EditText 
       android:id="@+id/et_Serchlist" 
     android:layout_height="35dp" 
     android:paddingLeft="19dp"
      android:layout_marginLeft="60dp"
     android:layout_toRightOf="@+id/tv_header"
     android:maxLength="20"
     android:maxLines="1"
     android:inputType="text"
     android:hint="Search" 
     android:textColor="#ffffff"
     android:background="@drawable/my_border"
     android:layout_width="100dip"/>
  <ListView 
   android:id="@+id/ListView01"
   android:layout_width="fill_parent"
   android:textSize="4px" 
   android:layout_below="@+id/tv_header"
   android:layout_above="@+id/btn_previous"
   android:layout_height="wrap_content" />
     <View android:layout_height="55dp" 
       android:layout_below="@+id/ListView0"
       android:layout_alignParentBottom="true"
       android:layout_width="fill_parent" 
       android:background="#ffffff"/>
        <ImageView 
        android:src="@drawable/grewprevious"  
        android:id="@+id/btn_Whiteprevious" 
        android:layout_width="wrap_content" 
       android:layout_marginLeft="12dp"
    android:layout_marginBottom="6dp"
    android:layout_below="@+id/ListView0" 
   android:visibility="invisible"
        android:layout_alignParentBottom="true"
        android:layout_height="wrap_content"/>
      <ImageView 
        android:src="@drawable/right"  
        android:id="@+id/btn_grewforward" 
        android:layout_width="wrap_content" 
        android:layout_marginLeft="259dp"
        android:layout_marginBottom="6dp"
        android:layout_below="@+id/ListView0" 
        android:visibility="invisible"
        android:layout_alignParentBottom="true"
        android:layout_height="wrap_content"/>
     <ImageView 
        android:src="@drawable/backward" 
       android:id="@+id/btn_previous"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentBottom="true"
       android:layout_marginLeft="12dp"
       android:layout_marginBottom="6dp"
       android:layout_below="@+id/ListView0"
       android:onClick="backButtonClicked"/>

    <ImageView android:src="@drawable/forward" 
     android:id="@+id/btn_next"
    android:layout_width="80dp" 
    android:layout_marginBottom="6dp"
    android:layout_height="wrap_content"
        android:layout_alignParentBottom="true" 
   android:layout_below="@+id/ListView0"
   android:layout_marginLeft="249dp"
    android:text="Next" 
    android:onClick="nextButtonClicked"/>   
</RelativeLayout>

Create userlist.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
    android:layout_height="match_parent">
  <TextView android:id="@+id/tv_className"
   android:layout_height="wrap_content" 
   android:layout_width="wrap_content"/> 
</LinearLayout>

Add my_border.xml into Drawable folder:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="2dip" android:color="#ee777777" />
<solid android:color="#ee444444"/>
<padding  
   android:left="20dip" 
  android:top="2dip" 
  android:right="20dip" 
  android:bottom="2dip" />
<corners android:radius="15dip" />
![enter image description here][1]</shape>

If it give error for iamges then use any other images and run application.

Let me know it work for you.

Thanks

这篇关于在Android的列表视图分页的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆