2016-10-04 5 views
0

私はSQLiteデータベースから作成されたListviewを作成し、ListViewのLong Clickアイテムを作成します。DialogBoxに2つのボタン削除を提供してキャンセルします。削除ボタンをクリックすると、SQLite DatabaseからそのListView項目を削除したいと思います。しかし、私はデータベースに主キーを追加しませんでした。どのようにアイテムの位置でそれを削除するか。LongClickのデータベースからListViewアイテムを削除する方法は?

+0

データベースからの削除後、リストビューをリロードし、リストをリロードするためのnotifyDataChanged関数を呼び出し、プライマリキーの場合、選択した位置のアイテムを取得してからプライマリキーを取得する –

+0

また、データベースからではなくリストビューアイテムから削除します。 –

+0

http://stackoverflow.com/questions/31771636/delete-item-from-both-database-and-listview-on-clicking-delete-button –

答えて

3
ArrayList<Object> items = query from sqlite; <--- notice 
then set items to listView adapter 
enter code here 

とテキストビューでそれを渡すことができます。

0

あなたは

@Override 
public void onItemClick(final AdapterView<?> parent, View arg1, final int **position**, long arg3) 
{ 

    .... 
    builder.setPositiveButton("OK", 
    new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 


     Integer deleteItem= 
      databaseHelper.delete_byID 
      (items.get(**position**).primaryKey); <----- change this 

         if(deleteItem>0) 

          Toast.makeText(getContext(), "Successfully Deleted", Toast.LENGTH_SHORT).show(); 
         else 
          Toast.makeText(getContext(), "Not", Toast.LENGTH_SHORT).show(); 



        } 
       }); 
     builder.show();][1] 

をクリックして、あまりにもリストビューから削除するリストビューをリロードonitemでの視認性View.GONE

+0

リストビューでもう1つのテキストビューに可視性を追加し、リストビューのIDを取得してクエリに渡します –

関連する問題