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