Я пробую возвращать реестр bd sqlite и показывать это в spinner android studio

Восток он тот вместился, но у меня есть ошибки, кто-то любезно может помогать мне.

Это мой код:

btnBuscarUpdate.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            SQLiteDatabase db = dbHelper.getWritableDatabase();
            String code= et1.getText().toString();
            fila =db.rawQuery("select User,Pass,Status,Email  from Usuario  where Code='" + code +"'" ,null);
            if (fila.moveToFirst())
            {
                et2.setText(fila.getString(0));
                et3.setText(fila.getString(1));
                spinner.setSelection(fila.getString());
                et5.setText(fila.getString(3));
            }
            else {
                Toast.makeText(getApplicationContext(), "No existe  un usuario  con dicho  código", Toast.LENGTH_SHORT).toString();
                db.close();
            }
        }
    });
1
задан 10.01.2017, 21:46
0 ответов

Подруга.... ami дала мне головные боли эта деталь я имею тебе мое решение, просвет эта это зависит, как ты наполнил (популярно) spinner,

первый я верю в функцию, чтобы наполнять spinner:

  private void spGenero() {
    final String TAG_TABLE = "Tb_Sexo";

    List<String> glist = new ArrayList<>();
    SQLiteDatabase db = openOrCreateDatabase("db", android.content.Context.MODE_PRIVATE, null);
    String query = "select * from " + TAG_TABLE;
    Cursor ps = db.rawQuery(query, null);
    while (ps.moveToNext()) {
        glist.add(ps.getString(ps.getColumnIndex("Sexo")));
    }
    db.close();
    ps.close();
    ArrayAdapter saa = new ArrayAdapter(getActivity(), R.layout.row_spinnerii, glist);
    saa.setDropDownViewResource(R.layout.row_spinneiilist);
    spn_genero.setAdapter(saa);

    spn_genero.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            id_gen = getIDProS(parent.getItemAtPosition(position).toString(), TAG_TABLE, "Sexo", "ID");
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {
        }
    });
}

секунда думай, что другая эта функция помогает тебе в posicionar элементу, который ты желаешь в spinner:

private void SeleccionaItem(Spinner spinner, String value) {
    for (int i = 0; i < spinner.getCount(); i++) {
        if (spinner.getItemAtPosition(i).toString().equalsIgnoreCase(value)) {
            spinner.setSelection(i);
        }
    }
}

третий, это, когда ты будешь получать или будешь консультировать данные:

...
SeleccionaItem(tu_spinner, fila.getString(2));
....

и в конце концов, проверь, когда ты загружаешь функции:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_datoslote);

spGenero();


funcion_consulta();


}
1
ответ дан 03.12.2019, 17:46

Ты не показываешь, что стоимость твоего query использует spinner, только используешь setSelection() но это - это, чтобы выбирать элемент твоего Spinner.

  spinner.setSelection(<indice del elemento>);

Чтобы добавлять данные к твоему этому Spinner это правильная форма:

//Crea ArrayList para almacenar User
List<String> usuarios = new ArrayList<String>();
   SQLiteDatabase db = dbHelper.getWritableDatabase();
        String code= et1.getText().toString();
  fila =db.rawQuery("select User,Pass,Status,Email  from Usuario  where Code='" + code +"'" ,null);
            if (fila.moveToFirst())
            {   
                //Agrega usuarios.
                usuarios.add(fila.getString(0));

                et2.setText(fila.getString(0));
                et3.setText(fila.getString(1));
                et5.setText(fila.getString(3));
            } else {
            Toast.makeText(getApplicationContext(), "No existe  un usuario  con dicho  código", Toast.LENGTH_SHORT).toString();
            db.close();
          }


        // Crea Adapter para Spinner.
        ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, usuarios);

        // agrega datos al Spinner
        spinner.setAdapter(dataAdapter);

Относительно Query, также ты можешь считать вторым параметром array со стоимостью, которая будет представлена в query посредством"?":

//fila =db.rawQuery("select User,Pass,Status,Email  from Usuario  where Code='" + code +"';" ,null);

fila =db.rawQuery("select User,Pass,Status,Email  from Usuario  where Code=?" , new String[] {'" + code +"'});
2
ответ дан 03.12.2019, 17:46

Помести ему точку с запятой (;) в конце консультации.

fila =db.rawQuery("select User,Pass,Status,Email  from Usuario  where Code='" + code +"';" ,null);
1
ответ дан 03.12.2019, 17:46

Теги

Похожие вопросы