mardi 1 décembre 2015

Load diferents values from a database column

How I can get a diferents values from a column with the same name (like the photo)?

DataBase Example

In the photo, "test" have a 3 differents values, how I can load them to a ListView or a Spinner?

I have this code, works, but don't get the 3 values, only first value:

MainActivity

public void lookupProduct (View view) {
    DatabaseHandler dbHandler = new DatabaseHandler(getApplicationContext());
    Name name = dbHandler.findProduct(spinner.getSelectedItem().toString());
    Toast.makeText(this, spinner.getSelectedItem().toString(), Toast.LENGTH_LONG).show();
    Intent j = new Intent(view.getContext(), SubActivity.class);
    Bundle dados = new Bundle();
    if (name != null) {
        inputLabel.setText(String.valueOf(name.getName()));
        values.setText(String.valueOf(name.getValue()));
        // Passar para SubActivity
        dados.putString("name", String.valueOf(name.getName()));
        dados.putString("value", String.valueOf(name.getValue()));
    } else {
        inputLabel.setText("No Match Found");
        dados.putString("name","No Match Found" );
        dados.putString("value", "No Match Found");
    }
    j.putExtras(dados);
    startActivity(j);
}

DatabaseHelper

public Name findProduct(String name) {
    String query = "Select * FROM " + TABLE_LABELS + " WHERE " + KEY_NAME + " = \"" + name + "\"";
    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor = db.rawQuery(query, null);
    Name names = new Name();
    if (cursor.moveToFirst()) {
        cursor.moveToFirst();
        names.setID(Integer.parseInt(cursor.getString(0)));
        names.setName(cursor.getString(1));
        names.setValue(cursor.getString(2));
        cursor.close();
    } else {
        names = null;
    }
    db.close();
    return names;
}

NameClass

public class Name {
private int _id;
private String _name;
private String _value;
public Name() {
}
public Name(int id, String name, String value) {
    this._id = id;
    this._name = name;
    this._value = value;
}
public Name(String name, String value) {
    this._name = name;
    this._value = value;
}public String getName() {
    return this._name;
}
public String getValue() {
    return this._value;
}

Aucun commentaire:

Enregistrer un commentaire