android - 在 Android 中使用哪个 View 以及如何每页显示 n 个值

标签 android android-fragments view

这是一个例子,因为我还没有编码,因为我不知道如何开始。

假设在 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/

相关文章:

安卓 : Get view Reference to a Menu Item

android - 如何从谷歌地图应用程序获取路线或目的地?

android - 多个 Intent 将 listView 信息从一个 Activity 传递到另一个 Activity

android - 扩展工具栏的工具栏按钮重力

android - 尝试避免将相同的 fragment 添加到 backStack 两次,popBackStackImmediate 总是返回 false

java - 我应该在单独的线程中处理大量 View 吗?

android - 在 map View 上显示小部件

android - 数据绑定(bind) : Pass resource id to custom view string attribute?

android - 如何处理 fragment 和viewpager之间的回栈?

android - 将触摸传递给下的 View