ListView Items 的点击问题

  • 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>



Cats萌萌
浏览 381回答 3
3回答

牛魔王的故事

在程序中重写SimpleCursorAdapter.setViewBinder(),使用数据库中的 ID 来设置 ListView 里 Views 的 Tag,删除 setOnItemClickListener() 中数据库的 ID, 并刷新 Adapter。&nbsp;SimpleCursorAdapter&nbsp;notes&nbsp;=&nbsp;new&nbsp;SimpleCursorAdapter(this,&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R.layout.notes_row,&nbsp;c,&nbsp;from,&nbsp;to);&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;notes.setViewBinder(new&nbsp;SimpleCursorAdapter.ViewBinder()&nbsp;{&nbsp; public&nbsp;boolean&nbsp;setViewValue(View&nbsp;view,&nbsp;Cursor&nbsp;cursor,&nbsp;int&nbsp;column)&nbsp; {&nbsp; TextView&nbsp;tv&nbsp;=&nbsp;(TextView)&nbsp;view;&nbsp; view.setTag=cursor.getInt(cursor.getColumnIndex&nbsp;("_id"));&nbsp;//&nbsp;You&nbsp;need&nbsp;to&nbsp;include&nbsp;the&nbsp;_id&nbsp;in&nbsp;the&nbsp;query tv.setText(String.Valueof(cursor.getInt(cursor.getColumnIndex&nbsp;(NotesDbAdapter.KEY_TITLE&nbsp;)))); return&nbsp;true;&nbsp; }&nbsp; }); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lv.setOnItemClickListener(new&nbsp;OnItemClickListener()&nbsp;{&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;onItemClick(AdapterView<?>&nbsp;parent,&nbsp;View&nbsp;view,&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;position,&nbsp;long&nbsp;id)&nbsp;{&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TextView&nbsp;tv=(TextView)&nbsp;view; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;ID=view.getTag(); &nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Delete&nbsp;ID&nbsp;from&nbsp;the&nbsp;DB &nbsp;&nbsp;&nbsp;&nbsp;notes.notifyDataSetChanged();&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;setListAdapter(notes);&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;}&nbsp; }

ITMISS

点击listview的items时,长按事件,出来一个对话框,里面有删除操作。这样可以删除。也可以在每一行里面有个复选框,做删除功能。

喵喔喔

做一个按钮然后指向lvwName.Items.Remove(lvwName.SelectedItems[0]);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java