I am working for Android app, in which I need to show listview with items. But There are more elements to show in listview.I decided to implement pagination . I tried searching in Google but does not find any related information.Can anybody help me please.. 解决方案 Implementing pagination is very simple.Take look at this...public class MainActivity extends Activity { private ListView listview; private TextView title; private ArrayList<String> data; ArrayAdapter<String> sd; public int TOTAL_LIST_ITEMS = 1030; public int NUM_ITEMS_PAGE = 100; private int noOfBtns; private Button[] btns; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listview = (ListView)findViewById(R.id.list); title = (TextView)findViewById(R.id.title); Btnfooter(); data = new ArrayList<String>(); /* * The ArrayList data contains all the list items */ for(int i=0;i<TOTAL_LIST_ITEMS;i++) { data.add("This is Item "+(i+1)); } loadList(0); CheckBtnBackGroud(0); } 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); } }); } } /** * Method for Checking Button Backgrounds */ 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)); } } } /** * Method for loading data in listview * @param number */ private void loadList(int number) { ArrayList<String> sort = new ArrayList<String>(); int start = number * NUM_ITEMS_PAGE; for(int i=start;i<(start)+NUM_ITEMS_PAGE;i++) { if(i<data.size()) { sort.add(data.get(i)); } else { break; } } sd = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, sort); listview.setAdapter(sd); }}<?For more clear explanation and source code visit this linksListView Pagination Ex-1ListView Pagination Ex-2 这篇关于如何在Android listview中实现分页的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
07-11 20:30