Android Studio-从多个记录中获取数据,在Edittext中设置相同的单词

Android Studio-从多个记录中获取数据,在Edittext中设置相同的单词,android,database,sqlite,textview,android-edittext,Android,Database,Sqlite,Textview,Android Edittext,我在Android Studio上工作,在我的项目中有一个表,其中有2条记录上传到DB SQLite上 public class BaseDeDatos extends SQLiteOpenHelper { public BaseDeDatos(Context context) { super(context, "verbos.db", null, 8); } @Override public void onCreate(SQLiteDatabase db) {

我在Android Studio上工作,在我的项目中有一个表,其中有2条记录上传到DB SQLite上

public class BaseDeDatos extends SQLiteOpenHelper {

public BaseDeDatos(Context context) {
    super(context, "verbos.db", null, 8);
}


    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table verbos(id integer, verbos text, referencia text, eu text, voce text, nos text)");
        db.execSQL("insert into verbos values(1, 'agito', 'abalo', 'abala', 'abalamos', 'abalam')," +
                "(2, 'agito', 'abalava', 'abalava', 'abalávamos', 'abalavam')");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int i, int i1) {
        db.execSQL("DROP TABLE IF EXISTS verbos");
        db.execSQL("create table verbos(id integer, verbos text, referencia text, eu text, voce text, nos text)");
        db.execSQL("insert into verbos values(1, 'agito', 'abalo', 'abala', 'abalamos', 'abalam')," +
                "(2, 'agito', 'abalava', 'abalava', 'abalávamos', 'abalavam')");
    }
}
这是我工作的“Verbos”活动:

public class Verbos extends AppCompatActivity {

Button mostrar;
EditText etVerbos;
TextView tv1, tv11, tv12, tv13, tv14, tv15, tv21, tv22, tv23, tv24, tv25;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.verbos);

    etVerbos = findViewById(R.id.etIngresar);

    tv1 = findViewById(R.id.tv1);
    tv11 = findViewById(R.id.tv11);
    tv12 = findViewById(R.id.tv12);
    tv13 = findViewById(R.id.tv13);
    tv14 = findViewById(R.id.tv14);
    tv21 = findViewById(R.id.tv21);
    tv22 = findViewById(R.id.tv22);
    tv23 = findViewById(R.id.tv23);
    tv24 = findViewById(R.id.tv24);
    mostrar = findViewById(R.id.bnMostrar);

    mostrar.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            BaseDeDatos admin = new BaseDeDatos(getApplicationContext());
            SQLiteDatabase db = admin.getWritableDatabase();
            String[] parametros = {etVerbos.getText().toString()};

            try {
                Cursor cursor = db.rawQuery("select * from verbos WHERE verbos =?", parametros);
                cursor.moveToFirst();
                tv1.setText(cursor.getString(1));
                tv11.setText(cursor.getString(2));
                tv12.setText(cursor.getString(3));
                tv13.setText(cursor.getString(4));
                tv14.setText(cursor.getString(5));

                Cursor cursor2 = db.rawQuery("select * from verbos WHERE verbos =?", parametros);
                cursor2.moveToFirst();
                tv21.setText(cursor2.getString(2));
                tv22.setText(cursor2.getString(3));
                tv23.setText(cursor2.getString(4));
                tv24.setText(cursor2.getString(5));

            } catch (Exception e) {
                Toast.makeText(getApplicationContext(), "El Verbo no existe", Toast.LENGTH_LONG).show();
            }
        }
    });
}
}
当我在EditText(本例中为“verbos”字段)中设置一个值,然后按下“MOSTRAR”按钮时,根据我设置的“verbos”,TextView将被表中的信息替换。但它只适用于一条记录(第一条记录),我的意思是,我可以有多条字段“verbos”相同的记录,我需要在其他文本视图中显示它们,而不仅仅是第一条记录

在我的例子中,当我在编辑文本中设置单词“agito”时,我试图从第一条记录(并在tv11、tv12、tv13、tv14中替换)和第二条记录(并在tv21、tv22、tv23、tv24中替换)中获取信息,但它只从两个文本视图(tv11、tv12……和tv21、tv22……)中的第一条记录中获取信息

那么,如何才能从Edittext中设置了相同单词的多个记录中获取信息呢


如果您能帮助我,我将不胜感激。

光标有两行供agito获取,下一行转到第二行如果有第二行,因为大多数情况下都使用列表视图或回收视图,它们显示1+行

    @Override
    public void onClick(View v) {
        BaseDeDatos admin = new BaseDeDatos(getApplicationContext());
        SQLiteDatabase db = admin.getWritableDatabase();
        String[] parametros = {etVerbos.getText().toString()};

        try {
            Cursor cursor = db.rawQuery("select * from verbos WHERE verbos =?", parametros);
            if (cursor.moveToFirst()) {
                tv1.setText(cursor.getString(1));
                tv11.setText(cursor.getString(2));
                tv12.setText(cursor.getString(3));
                tv13.setText(cursor.getString(4));
                tv14.setText(cursor.getString(5));
            }
            if (cursor.moveToNext()) {
                tv21.setText(cursor.getString(2));
                tv22.setText(cursor.getString(3));
                tv23.setText(cursor.getString(4));
                tv24.setText(cursor.getString(5));
            }

        } catch (Exception e) {
            Toast.makeText(getApplicationContext(), "El Verbo no existe", Toast.LENGTH_LONG).show();
        }
    }

光标有两行用于agito getting下一行转到第二行如果第二行存在,用于显示大多数情况下使用的列表ListView或RecyclerView,它们显示1+行

    @Override
    public void onClick(View v) {
        BaseDeDatos admin = new BaseDeDatos(getApplicationContext());
        SQLiteDatabase db = admin.getWritableDatabase();
        String[] parametros = {etVerbos.getText().toString()};

        try {
            Cursor cursor = db.rawQuery("select * from verbos WHERE verbos =?", parametros);
            if (cursor.moveToFirst()) {
                tv1.setText(cursor.getString(1));
                tv11.setText(cursor.getString(2));
                tv12.setText(cursor.getString(3));
                tv13.setText(cursor.getString(4));
                tv14.setText(cursor.getString(5));
            }
            if (cursor.moveToNext()) {
                tv21.setText(cursor.getString(2));
                tv22.setText(cursor.getString(3));
                tv23.setText(cursor.getString(4));
                tv24.setText(cursor.getString(5));
            }

        } catch (Exception e) {
            Toast.makeText(getApplicationContext(), "El Verbo no existe", Toast.LENGTH_LONG).show();
        }
    }

谢谢,成功了!但是我的屏幕空间有问题,因为我需要在要替换的活动中使用45 textview,采用表格格式,并且一些单词更大,因此它们会叠加到另一个单词上。你给我推荐什么使这个整洁?我确实需要一个水平滚动条谢谢,成功了!但是我的屏幕空间有问题,因为我需要在要替换的活动中使用45 textview,采用表格格式,并且一些单词更大,因此它们会叠加到另一个单词上。你给我推荐什么使这个整洁?我肯定需要一个水平滚动条