这是一个例子,因为我还没有编码,因为我不知道如何开始。
假设在 Android 中我有一个包含 100 个值的字符串数组:
String[] myString = new String[100];
for (int number = 0; number < 100; number++) {
myString[number] = "image " + number;
}
我应该以哪种方式显示每页 5 个值(要使用哪个 View (表格、网格)以及我应该为每个页面使用 Fragment 替换)。
我想有所成就like this , 但在 Android 中。我只需要一些指南即可开始。
最佳答案
一般来说,如果你注意到了,显式分页在 android 中并不常见,而是使用无限滚动,例如你在 Facebook 中的新闻提要是一个列表,当你到达底部时,它会加载更多,你可以滚动更多,在它的底部再次加载。
要实现这一点,非常简单,只需设置一个onScrollListener
并覆盖onScrollStateChanged()
方法。
在初始化 ListView 后设置 onScrollListener:
//In onCreate()
ListView listView = (ListView)findViewById(R.id.list_view);
listView.setOnScrollListener(new ListScrollListener());
让你的听众类:
private class ListScrollListener implements OnScrollListener{
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
if (scrollState == SCROLL_STATE_IDLE) {
if (listView.getLastVisiblePosition() >= listView.getCount()-1) {
page_num++;
//TODO Load more list items.
//notify the adapter of the listview that data has changed
mAdapter.notifyDataSetChanged();
}
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
//This can be left blank
}
}
如果您愿意,可以在 ListView
中添加带有 ProgressBar
的页脚,以便在您使用 listView.addFooterView(View v) 加载更多项目时显示;
您可以找到有关自定义 ListView 的不错教程 at Vogella tutorials .
关于android - 在 Android 中使用哪个 View 以及如何每页显示 n 个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24736143/