У меня есть действие, в котором я хочу, чтобы оно отображало результаты из базы данных с помощью ListView.Таблица имеет три столбца: слово, описание и категория.На странице активности у меня есть список категорий, считываемых из массива.Я хочу настроить его так, чтобы, если вы щелкнете по элементу в списке (например, Cat1), результатом, возвращаемым курсором, будут все слова / описания с категорией Cat1 в БД.В настоящее время у меня просто появляется тост с именем этой категории при нажатии.
Как сейчас, действие не выполняется должным образом.Я читал в Интернете, и я не уверен, что делать дальше.Вот код, который у меня есть.Если кто-нибудь может мне помочь, я был бы очень признателен.
public class Categories extends ListActivity {DataBaseHelper db = new DataBaseHelper (this);личные данные базы данных SQLite;int position;
private ListView list;
private String[] categories = {
"C1", "C2", "C3", "C4",
"C5", "C6", "C7", "C8",
"C9", "C10", "C11", "C12"
};
@Override
public void onCreate(Bundle icicle){
super.onCreate(icicle);
setContentView(R.layout.cat_list);
list = (ListView)findViewById(R.id.cat_listing);
list.setAdapter(new ArrayAdapter<String>(this,
R.layout.categories, categories));
list.setTextFilterEnabled(true);
Cursor cursor = data.rawQuery("SELECT term, desc FROM words WHERE cat = '" + categories[position] + "'", null);
startManagingCursor(cursor);
String columns[] = new String[] { "term", "desc" };
int[] to = new int[] { R.id.cat_term, R.id.cat_desc };
SimpleCursorAdapter myAdapter = new SimpleCursorAdapter(this, R.layout.cat_result, cursor, columns, to);
this.setListAdapter(myAdapter);
list.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> parent, View view,
int position, long id){
CharSequence text = categories[position];
Toast toast = Toast.makeText(getApplicationContext(),
text, Toast.LENGTH_SHORT);
toast.show();
}
});
}
}