Я создал SQLiteDatabase
, где я могу видеть элементы с помощью кнопки «Просмотр» и, нажав на нее, я получаю всю базу данных в ListView
. В этом ListView
я бы хотел, чтобы элементы были кликабельными, и если я щелкаю по ним, я хочу добавить новую запись с тем же именем, но с другим идентификатором. Мой код пока:
ListView lv;
ArrayList<String> todoItems = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, todoItems));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
hornot info = new hornot(this);
info.open();
Cursor c = info.getAllTitles();
if (c.moveToFirst())
{
do{
todoItems.add(c.getString(0) + " " + c.getString(1) + " " + c.getString(2));
}while (c.moveToNext());
}
if (todoItems.size() > 0)
{
lv.setAdapter(new ArrayAdapter<String>(sqview.this,android.R.layout.simple_list_item_1, todoItems));
}
lv.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
//-/////////////////////////
}
});
info.close();
}
Как видите, я помещаю элементы базы данных в массив, а затем помещаю их в ListView
. С помощью кнопки апгрейда я могу добавлять предметы, поэтому я думаю, что мне нужно сделать то же самое здесь.
В функции dbhelper
createEntry
:
public long createEntry(String name, String hotness) {
ContentValues cv = new ContentValues();
cv.put(KEY_NAME, name);
cv.put(KEY_HOTNESS, hotness);
return ourDatabase.insert(DATABASE_TABLE, null, cv);
}
В main.java
я конвертирую EditTexts
в Strings
, затем помещаю значения в базу данных:
String name = sqlName.getText().toString();
String hotness = sqlHotness.getText().toString();
hornot entry = new hornot(dbhelp.this);
entry.open();
entry.createEntry(name, hotness);
entry.close();
Итак, что я должен написать для функции onItemClick
?