我正在构建一个应用程序,该应用程序使用游标对象从SQLite数据库检索数据,并将每一行填充到屏幕上的EditText。单击按钮的下一行,应将下一行数据粘贴到EditText屏幕。基本上,每个按钮单击事件都会滚动到下一行数据,然后粘贴到屏幕上的“编辑”文本。我的代码确实从SQLite检索数据并将数据的第一行粘贴到屏幕上。但是,当我按下按钮加载下一行数据时,没有任何响应。

 public void viewStockMaterialDataToScreen(){
        final Cursor cursor = controller.getAllStockMaterialData();
        if (cursor.getCount() == 0) {
            Toast.makeText(DataEntry_DailyStockTake.this, "No data exists in the database", Toast.LENGTH_SHORT).show();
            return;
        }
        if (cursor.moveToFirst()) {
                StockMaterial.setText(cursor.getString(1));
                UnitOM_Str.setText(cursor.getString(2));
                UnitOM_Ava.setText(cursor.getString(3));
                MinimumOQ.setText(cursor.getString(6));
        }
                button_Move_next.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                                           while (cursor.moveToNext()){}

                    }

       });
   }

最佳答案

我相信您有两个问题。


移至下一行时,您无需设置文本的位置,因此显示的数据不会更改。
您将遍历整个光标,并在单击时结束于AfterLastRow的位置,而不仅仅是移至下一行。


因此,您似乎想要这样的东西:

            button_Move_next.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    if (cursor.moveToNext()) {
                        StockMaterial.setText(cursor.getString(1));
                        UnitOM_Str.setText(cursor.getString(2));
                        UnitOM_Ava.setText(cursor.getString(3));
                        MinimumOQ.setText(cursor.getString(6));
                    }
                }
            }

关于android - 如何从SQLite检索数据到EditText屏幕并使用onClick事件滚动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54674241/

10-12 04:00
查看更多