-1

onitemlongclick による削除に苦労しています。Android を初めて使用するので、どうかご容赦ください。

ここに私のプロセスがあります

  1. sqlite からデータを登録する > *完了
  2. onitemlongclick リスナーを設定し、削除用のポップアップ ダイアログを表示し ます *done
  3. 行「id」を取得し、sqlite から削除します。 *まだ完成してない

私がこのテーブルを持っていると仮定して

 tableuser


 uniqid  | name | username
     2d1 | e    | e1
     cc2 | d    | d1
     2cd | c    | c1

これまでのところ私が得たのは

public void list() {
        // progressDialog.dismiss();
        dataAdapter = new MyCustomAdapter(this, R.layout.newrecord_item,
                accompList);

        // Assign adapter to ListView
        listView.setAdapter(dataAdapter);

    } 

public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
                    final int arg2, long arg3) {
                // TODO Auto-generated method stub


                alertDialog = new AlertDialog.Builder(NewRecords.this).create();
                alertDialog.setTitle("Delete Record");
                alertDialog.setMessage("Delete Employee Record?");
                alertDialog.setButton("YES",
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog,
                                    int which) {
                                // TODO Auto-generated method stub
                                dataAdapter.getItem(arg2);


                            }
                        });
                alertDialog.setButton2("NO",
                        new DialogInterface.OnClickListener() {

                            @Override
                            public void onClick(DialogInterface dialog,
                                    int which) {
                                // TODO Auto-generated method stub

                            }
                        });
                alertDialog.show();
                return false;
            }

Androidで削除を実行する方法を知る必要があります

4

1 に答える 1

1

getView() を変更します。

返されるビューごとに、ビューのタグを設定します。上記の表で説明したように、タグは一意の ID にする必要があります。

view.setTag(uniqueId[position]);

return view;

position は getView() で受け取った整数値です。

また、ユーザーがリスト項目をタップすると、タップされたビューを取得できます。ビューからタグを取得します。

Integer uniqueId = Integer.valueOf(String.valueOf(view.getTag()));

次に、この uniqueId 整数値を使用して、delete sql クエリを記述し、この一意の ID を渡して、この uniqueId を持つ行を削除するようにします。

そして、データベースの変更をコミットします。

于 2013-09-05T11:03:12.157 に答える