ListView获取信息保存在本地数据库然后再显示信息。我想点击listview的items时删除它们,如何实现?public class Notepad extends ListActivity {
public static final int INSERT_ID = Menu.FIRST;
EditText notes;
Button add;
ListView lv;
String currentDateTimeString = DateFormat.getDateInstance().format(
new Date());
private NotesDbAdapter mDbHelper;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.notepad_list);
mDbHelper = new NotesDbAdapter(this);
mDbHelper.open();
fillData();
Button add = (Button) findViewById(R.id.addNote);
// ListView lv = (ListView) findViewById(R.id.list);
add.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
createNote();
}
});
// lv.setOnItemClickListener(new OnItemClickListener() {
//
// public void onItemClick(AdapterView<?> parent, View view,
// int position, long id) {
// // When clicked, show a toast with the TextView text
//
// try {
// Toast.makeText(getApplicationContext(),
// ((TextView) view).getText(), Toast.LENGTH_SHORT)
// .show();
//
// } catch (ClassCastException e) {
// Toast.makeText(getApplicationContext(), "Error",
// Toast.LENGTH_SHORT).show();
// }
//
// };
//
// });
}ListView:<ListView
android:id="@id/android:list"
android:layout_width="wrap_content"
android:layout_height="402dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_below="@+id/note" >
</ListView>
3 回答
牛魔王的故事
TA贡献1830条经验 获得超3个赞
在程序中重写SimpleCursorAdapter.setViewBinder()
,使用数据库中的 ID 来设置 ListView 里 Views 的 Tag,删除 setOnItemClickListener() 中数据库的 ID, 并刷新 Adapter。
SimpleCursorAdapter notes = new SimpleCursorAdapter(this, R.layout.notes_row, c, from, to); notes.setViewBinder(new SimpleCursorAdapter.ViewBinder() { public boolean setViewValue(View view, Cursor cursor, int column) { TextView tv = (TextView) view; view.setTag=cursor.getInt(cursor.getColumnIndex ("_id")); // You need to include the _id in the query tv.setText(String.Valueof(cursor.getInt(cursor.getColumnIndex (NotesDbAdapter.KEY_TITLE )))); return true; } }); lv.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) { TextView tv=(TextView) view; String ID=view.getTag(); // Delete ID from the DB notes.notifyDataSetChanged(); }; }); setListAdapter(notes); } }
添加回答
举报
0/150
提交
取消