私はデータベースからのデータを表示するリストビューを作成しました。 ListViewの各行には、CheckBoxを削除するボタンとそれを編集するボタンが追加されています。 私の問題は、ボタンがクリックされ、どのように私のsqliteデータベースコマンドのidを変換して使用する行以上のIDを取得することです? 長いクリックリスナーの設定は、CheckBoxがあるときに行が長くクリックすると応答しないため、少し問題がありました。そのため、ボタンを存在させて機能させます。 ありがとうListViewの各行のボタンを使用してsqliteデータベースの行を削除します
-1
A
答えて
0
最初に私はコードの構造を説明し、その後私が見つけた解決法を説明します。
このアプリケーションは、ListViewを含む主なアクティビティで構成されています。次に、データベースを処理するSqliteOpenHelperのクラスがあり、データベース内の変数のセッターメソッドとゲッターメソッドを含むTaskProviderクラスと、ListViewのカスタムアダプターであるTaskAdapterがあります。 私が直面していた問題は、その行に存在するボタンによって特定の行に対処できないという事実でした。ここで私はそれをやった方法です:
SqliteOpenHelperクラスで最初に、方法は、アダプタクラスのGetViewメソッド、ボタンに続いて、where句とSqliteDataBase.delete方法
public void deleteTask (SQLiteDatabase db , String deleted){
String selection = Contracts.achieveTaskClass.ID+" LIKE ?";
String[] selectionArgs = {deleted};
db.delete(Contracts.achieveTaskClass.ACHIEVETASK_TABLE,selection,selectionArgs);
}
を保存するために作成されます発見された行を削除するように設定され、次のsetOnClickListenerが追加された:
objectHolder.taskDeleteButton = (Button) row.findViewById(R.id.list_view_delete_button);
objectHolder.taskDeleteButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String deleted;
deleted = ((TaskProvider) getItem(position)).getId();
Sqldb sqldb = new Sqldb(getContext());
SQLiteDatabase db = sqldb.getReadableDatabase();
sqldb.deleteTask(db,deleted);
}
});
関連する問題
- 1. ボタンをクリックしてsqliteデータベースの行を削除する
- 2. ListView(WPF)を使用してデータベースから行を削除する
- 3. フローティングコンテキストメニューを使用してSQLite行を削除します
- 4. FMDBのSQLiteデータベースから行を削除
- 5. JqGrid各行の編集と削除ボタン
- 6. コードワーカーでアプリケーションsqliteデータベースを削除して再実行
- 7. jqueryを使用してボタンをクリックした行を削除します
- 8. 次のボタンを使用して空のSQLite行を渡します
- 9. 表示タグを使用してテーブルの各行に編集と削除ボタンを提供
- 10. SQLiteデータベースのエントリを削除すると、ListViewで混在してしまいましたか?
- 11. jqueryの削除ボタンはデータベースから行を削除できません
- 12. CSSフロート画像、各行の余白を削除します
- 13. SQLite - 内部結合の行を削除しますか?
- 14. fmdbを使用してuitableviewcellのデータベースから行を削除する方法
- 15. ListViewを使用し、editTextを使用してSQLiteデータベースをフィルタリングする
- 16. ループを使用してsqliteデータベースに行を追加する(Phonegap)
- 17. 削除ボタンを使用してユーザー投稿を削除する
- 18. データベースの最初のX行を削除します
- 19. 各フィールドの削除ボタン
- 20. jQueryを使用してテーブルの行を削除するには?
- 21. Android sqliteの行の削除の失敗
- 22. ListViewで行を削除する[アンドロイドアプリケーション]
- 23. sqliteデータベースから重複行を削除する
- 24. ボタン上の行を削除する
- 25. 各行のボタンを使用したWPFリストビュー
- 26. SQLiteを使用してListViewを表示
- 27. Jquery Ajaxはテーブルとデータベースの行を削除します
- 28. データベースのフィールド値から改行を削除します
- 29. のUITableViewは、機能を使用して行を削除
- 30. grepを使用してテキストファイルから複数の行を削除します。
で、既存のオブジェクトコード –
がgetViewメソッド()カスタムアダプターの方法で削除ボタンにonClickListenerセット追加し、id値を取得してください。特定getViewメソッドで与えられた位置を取得し、そのIDを使用してデータベースから行を削除すると、テーブルにユニークなIDが必要です。また、オブジェクト・クラスにもIDを入れる必要があるため、 。 –
私はSugarORM、http://codex2android.blogspot.in/2016/03/sugar-orm-with-sqlite-android-part-i.htmlを使用して私のblogpostで同じものを実装しました。助けて欲しいと思っています – HourGlass