-1

私は長い間データベースに LongClick を実装しようと試みてきましたが、今のところ機能するのは短いクリックだけです。私はアンドロイドで書いています。レコードを削除しようとしているデータベースがあります。これまでの私のコードは次のとおりです。

protected void onListItemClick(ListView l, View v, int position, long id) {
    @SuppressWarnings("unchecked")
    //THIS IS TO DELETE FROM DATABASE, NEED TO IMPLEMENT LONGCLICK
    Vehicle toDelete = ((ArrayAdapter<Vehicle>) l.getAdapter()).getItem(position);
    VehicleDataSource vds = new VehicleDataSource(this);
    vds.deleteVehicle(toDelete);
    getLoaderManager().restartLoader(0, null, this);

}

VehicleDataSource クラスの車両削除メソッドは次のとおりです。

  public synchronized void deleteVehicle(Vehicle v) throws SQLException {
      SQLiteDatabase db = dbHelper.getWritableDatabase();
      db.delete(MySQLiteHelper.TABLE_VEHICLE, 
              MySQLiteHelper.COLUMN_ID + " = ?", new String[] {v.getId() + ""});
  }

誰かが私に何かヒントや助けを与えることができれば、大歓迎です. ありがとう。

4

1 に答える 1

0

ListViewにOnItemLongClickListenerを設定し、選択したビューとの対話を onメソッドで処理します。入力イベントの処理に関するドキュメントを確認する価値があるかもしれません。boolean onItemLongClick (AdapterView<?> parent, View view, int position, long id)

于 2014-02-21T15:13:32.593 に答える