public List<Elemento> getONU() {
List<Elemento> listaElementos = new ArrayList<Elemento>();
final String val = MainActivity.editText_ONU_search.getText();
if(!val.isEmpty()) {;
dbase = this.getReadableDatabase();
Cursor cursor = dbase.rawQuery("SELECT * FROM " + TABLE_NAME + " WHERE ONU = " + val, null);
if(cursor.moveToFirst()) {
do {
Elemento element = new Elemento();
element.setID(cursor.getInt(0));
element.setONU(cursor.getInt(1));
element.setNOME_SUB(cursor.getString(2));
listaElementos.add(element);
} while(cursor.moveToNext());
}
}
return listaElementos;
}
public List<Elemento> getNomeSubstancia() {
// ... como anterior
}
//... na actividade
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_nome_result);
textView_onu = (TextView)findViewById(R.id.textView_onu);
textView_nome_sub = (TextView) findViewById(R.id.textView_nome_sub);
DbHelper db = new DbHelper(this);
listaElementos = db.getNomeSubstancia();
if(listaElementos.size() > 0) {
currentElemento = listaElementos.get(elemento_id);
setElementosView();
}
}
// ... isto podia estar dentro do onCreate
private void setElementosView() {
textView_onu.setText("" + currentElemento.getONU());
textView_nome_sub.setText(currentElemento.getNOME_SUB());
elemento_id++; // ?
}
//....
Se apenas estás a consultar alguma informação, e se a BD não tiver muitos registos, o código acima é suficientemente rápido mas o melhor é fazeres a query em background, por exemplo com AsyncThread, https://developer.android.com/reference/android/os/AsyncTask.html
↧