Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 要在同一视图上均匀查看的ArrayList元素_Java_Android - Fatal编程技术网

Java 要在同一视图上均匀查看的ArrayList元素

Java 要在同一视图上均匀查看的ArrayList元素,java,android,Java,Android,我试图在同一视图上查看列表元素,但每次只能查看6个。首先,调用一个游标,然后用所有项填充数组列表 if (cursor.moveToFirst()) { try { do { items.add(ChecklistItem.fromCursor(cursor)); } while (cursor.moveToNext()); }

我试图在同一视图上查看列表元素,但每次只能查看6个。首先,调用一个游标,然后用所有项填充数组列表

if (cursor.moveToFirst())
        {
            try {
                do {
                    items.add(ChecklistItem.fromCursor(cursor));
                } while (cursor.moveToNext());
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
然后,该列表将提供给适配器,适配器将依次处理查看当前视图中的项目的操作

 if (items.size() > 0) {
            if (mAdapter == null)
            {
                mAdapter = new RecipeDetailAdapter(this, items, this);
                mRecyclerView.setAdapter(mAdapter);
            }
            else
            {
                mAdapter.updateItems(items);
            }
        }
在视图上,有一个“下一步”按钮,单击该按钮可将您带到另一个视图

public void onClick(View view) {
        switch (view.getId()) {
            case R.id.next_button:
                startActivity(new Intent(RecipeDetailActivity.this, RecipeTasksActivity.class)
                .putExtra(RecipeTasksActivity.RECIPE_KEY, mRecipe.getRecipeId()));
                finish();
                break;
     }
}
此时视图显示列表中的任何项目,可以是10、30、50等等

我试图实现的是,假设列表有18个项目,查看列表中的前6个项目,然后单击“下一步”按钮,查看其他6个项目,然后单击“下一步”按钮,查看其余6个项目。请记住,我需要检查列表中是否有6个或更少的项,如果较少,请查看所有项,如果较多,请将它们分布在同一视图的两个实例上


关于如何处理这个问题有什么建议吗

是的,您可以通过在查询中使用偏移和限制来实现这一点

db.rawQuery("SELECT * FROM " + TABLE_NAME + " ORDER BY " + ORDER_BY + " LIMIT 0, 20", NULL);

注意:0以上是您的偏移量,20是您的限制。在你的情况下,限制是6。您可以通过
k*Limit
保持偏移量,其中k表示您的寻呼机号码。

True。如果我只想查看前6项,这可能会起作用。但我如何跟踪我选择的内容和剩下的内容呢?定义一个名为
page
的变量,按下一步时将其递增一,按下一步时将其递减一。