onTouch(View v, MotionEvent event)から
Spinner spinner = (Spinner) parent;
deleteitem = (String) spinner.getSelectedItem();
でのparentのように、getSelectしているitemを取得する方法はありますか?
java
1 final Handler actionHandler = new Handler(); 2 final Runnable runnable = new Runnable() { 3 @Override public void run() { 4 Toast toast = Toast.makeText(LocationActivity.this, "Long click", Toast.LENGTH_SHORT); 5 toast.show(); 6 } 7 }; 8 spinner.setOnTouchListener(new View.OnTouchListener() { 9 @Override public boolean onTouch(View v, MotionEvent event) { 10 if (event.getAction() == MotionEvent.ACTION_DOWN) { 11 actionHandler.postDelayed(runnable, 1000); 12 13 //ここで、押してから1秒後にelse ifだったら、ロングクリックと判断して、行動を起こす? 14 15 } else if(event.getAction() == MotionEvent.ACTION_UP){ 16 actionHandler.removeCallbacks(runnable); 17 18 //-------------------------ここで、長押しされた時のaction-------------------// 19 //--------------ここで、消していいですか?を確認のダイアログを出力--------------// 20 LayoutInflater inflater = (LayoutInflater) LocationActivity.this.getSystemService(LAYOUT_INFLATER_SERVICE); 21 final View layout = inflater.inflate(R.layout.dialog_deleteplace_us, (ViewGroup) findViewById(R.id.layout_deleteplace)); 22 // アラーとダイアログ を生成 23 AlertDialog.Builder builder = new AlertDialog.Builder(LocationActivity.this); 24 builder.setView(layout); 25 26 //---------dailogの削除ボタンを追加、それが押されたらデータベースから削除する--------// 27 builder.setPositiveButton("削除", new DialogInterface.OnClickListener() { 28 public void onClick(DialogInterface dialog, int which) { 29 30 if (deleteitem.equals("GPSの現在地")) { 31 } else if (deleteitem.equals("googlemapで検索")) { 32 } else { 33 34 String sql = "delete from favorite where placename = '" + deleteitem + "' " + 35 "and username = '" + username + "';"; 36 System.out.println(sql); 37 System.out.println(deleteitem); 38 39 MyOpenHelper helper = new MyOpenHelper(LocationActivity.this); 40 SQLiteDatabase db = helper.getWritableDatabase(); 41 Cursor c = db.rawQuery(sql, null); 42 c.moveToFirst(); 43 onStart(); 44 } 45 } 46 }); 47 } 48 return false; 49 } 50 });
押した場所の内容を、この下のLongClickのparentのように取得する方法はあるのでしょうか? parentのような物を取得することは不可能なのでしょうか?
if (deleteitem.equals("GPSの現在地")) {での、deleteitemをparentから取得するということが
選択した物をデータベースから削除の作業に必要になります。
何か解決策はないでしょうか?アドバイスをいただきたいです。
java
1 public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) { 2 Spinner spinner = (Spinner) parent; 3 deleteitem = (String) spinner.getSelectedItem();
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/06 07:45 編集
2017/05/06 07:42
2017/05/06 07:46