質問編集履歴

6

誤字

2017/05/06 05:45

投稿

edoooooo
edoooooo

スコア476

test CHANGED
@@ -1 +1 @@
1
- Spinnerで長押しを判断したい。onTouch(View v, MotionEvent event)から、selectしているitemを取得する方法はありますか?。
1
+ Spinnerで長押しを判断したい。onTouch(View v, MotionEvent event)から、itemを取得する方法はありますか?。
test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  deleteitem = (String) spinner.getSelectedItem();
6
6
 
7
- でのparentのように、selectしているitemを取得する方法はありますか?
7
+ でのparentのように、getSelectしているitemを取得する方法はありますか?
8
8
 
9
9
  ```java
10
10
 

5

説明

2017/05/06 05:45

投稿

edoooooo
edoooooo

スコア476

test CHANGED
@@ -1 +1 @@
1
- Spinnerで長押しを判断したい。new Handler()のeventから、selectしているitemを取得する方法はありますか?。
1
+ Spinnerで長押しを判断したい。onTouch(View v, MotionEvent event)から、selectしているitemを取得する方法はありますか?。
test CHANGED
@@ -1,4 +1,4 @@
1
- eventから
1
+ onTouch(View v, MotionEvent event)から
2
2
 
3
3
  Spinner spinner = (Spinner) parent;
4
4
 

4

説明の追加

2017/05/06 03:44

投稿

edoooooo
edoooooo

スコア476

test CHANGED
@@ -1 +1 @@
1
- Spinnerで長押しを判断したい。new Handler();を使いLongClickのparentのように取得したい
1
+ Spinnerで長押しを判断したい。new Handler()のeventからselectしているitemを取得する方法はありますか?
test CHANGED
@@ -1,3 +1,11 @@
1
+ eventから
2
+
3
+ Spinner spinner = (Spinner) parent;
4
+
5
+ deleteitem = (String) spinner.getSelectedItem();
6
+
7
+ でのparentのように、selectしているitemを取得する方法はありますか?
8
+
1
9
  ```java
2
10
 
3
11
  final Handler actionHandler = new Handler();
@@ -92,12 +100,6 @@
92
100
 
93
101
  });
94
102
 
95
-
96
-
97
-
98
-
99
-
100
-
101
103
  }
102
104
 
103
105
  return false;
@@ -108,13 +110,13 @@
108
110
 
109
111
  ```
110
112
 
111
- 押した場所の内容を、この下のLongClickのparentのように取得する方法はあるのでしょうか? getX()などで座標は取れるらしいですが、parentのような物を取得することは不可能なのでしょうか?
113
+ 押した場所の内容を、この下のLongClickのparentのように取得する方法はあるのでしょうか? parentのような物を取得することは不可能なのでしょうか?
112
114
 
113
115
  if (deleteitem.equals("GPSの現在地")) {での、deleteitemをparentから取得するということが
114
116
 
115
117
  選択した物をデータベースから削除の作業に必要になります。
116
118
 
117
- 何か解決策はないでしょうか?
119
+ 何か解決策はないでしょうか?アドバイスをいただきたいです。
118
120
 
119
121
  ```java
120
122
 

3

説明の追加

2017/05/06 03:39

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -70,7 +70,7 @@
70
70
 
71
71
  "and username = '" + username + "';";
72
72
 
73
- System.out.println(sql + "いいいいいいいいいいいいいいいいいいいいい");
73
+ System.out.println(sql);
74
74
 
75
75
  System.out.println(deleteitem);
76
76
 
@@ -110,6 +110,12 @@
110
110
 
111
111
  押した場所の内容を、この下のLongClickのparentのように取得する方法はあるのでしょうか? getX()などで座標は取れるらしいですが、parentのような物を取得することは不可能なのでしょうか?
112
112
 
113
+ if (deleteitem.equals("GPSの現在地")) {での、deleteitemをparentから取得するということが
114
+
115
+ 選択した物をデータベースから削除の作業に必要になります。
116
+
117
+ 何か解決策はないでしょうか?
118
+
113
119
  ```java
114
120
 
115
121
  public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {

2

説明

2017/05/06 03:34

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -1,46 +1,114 @@
1
1
  ```java
2
2
 
3
- //調べて見つけた長くタップした時の動きを識別するためのコードとして、
3
+ final Handler actionHandler = new Handler();
4
4
 
5
- final Handler actionHandler = new Handler();
5
+ final Runnable runnable = new Runnable() {
6
6
 
7
- final Runnable runnable = new Runnable() {
7
+ @Override public void run() {
8
8
 
9
- @Override public void run() {
10
-
11
- Toast toast = Toast.makeText(LocationActivity.this, "Long click", Toast.LENGTH_SHORT);
9
+ Toast toast = Toast.makeText(LocationActivity.this, "Long click", Toast.LENGTH_SHORT);
12
10
 
13
11
  toast.show();
14
12
 
15
- }
13
+ }
16
14
 
17
- };
15
+ };
18
16
 
19
- spinner.setOnTouchListener(new View.OnTouchListener() {
17
+ spinner.setOnTouchListener(new View.OnTouchListener() {
20
18
 
21
- @Override public boolean onTouch(View v, MotionEvent event) {
19
+ @Override public boolean onTouch(View v, MotionEvent event) {
22
20
 
23
- if (event.getAction() == MotionEvent.ACTION_DOWN) {
21
+ if (event.getAction() == MotionEvent.ACTION_DOWN) {
24
22
 
25
- actionHandler.postDelayed(runnable, 1000);
23
+ actionHandler.postDelayed(runnable, 1000);
26
24
 
27
- } else if(event.getAction() == MotionEvent.ACTION_UP){
28
25
 
29
- actionHandler.removeCallbacks(runnable);
30
26
 
31
- }
27
+ //ここで、押してから1秒後にelse ifだったら、ロングクリックと判断して、行動を起こす?
32
28
 
33
- return false;
34
29
 
35
- }
36
30
 
31
+ } else if(event.getAction() == MotionEvent.ACTION_UP){
32
+
33
+ actionHandler.removeCallbacks(runnable);
34
+
35
+
36
+
37
+ //-------------------------ここで、長押しされた時のaction-------------------//
38
+
39
+ //--------------ここで、消していいですか?を確認のダイアログを出力--------------//
40
+
41
+ LayoutInflater inflater = (LayoutInflater) LocationActivity.this.getSystemService(LAYOUT_INFLATER_SERVICE);
42
+
43
+ final View layout = inflater.inflate(R.layout.dialog_deleteplace_us, (ViewGroup) findViewById(R.id.layout_deleteplace));
44
+
45
+ // アラーとダイアログ を生成
46
+
47
+ AlertDialog.Builder builder = new AlertDialog.Builder(LocationActivity.this);
48
+
49
+ builder.setView(layout);
50
+
51
+
52
+
53
+ //---------dailogの削除ボタンを追加、それが押されたらデータベースから削除する--------//
54
+
55
+ builder.setPositiveButton("削除", new DialogInterface.OnClickListener() {
56
+
57
+ public void onClick(DialogInterface dialog, int which) {
58
+
59
+
60
+
61
+ if (deleteitem.equals("GPSの現在地")) {
62
+
63
+ } else if (deleteitem.equals("googlemapで検索")) {
64
+
65
+ } else {
66
+
67
+
68
+
69
+ String sql = "delete from favorite where placename = '" + deleteitem + "' " +
70
+
71
+ "and username = '" + username + "';";
72
+
73
+ System.out.println(sql + "いいいいいいいいいいいいいいいいいいいいい");
74
+
75
+ System.out.println(deleteitem);
76
+
77
+
78
+
79
+ MyOpenHelper helper = new MyOpenHelper(LocationActivity.this);
80
+
81
+ SQLiteDatabase db = helper.getWritableDatabase();
82
+
83
+ Cursor c = db.rawQuery(sql, null);
84
+
85
+ c.moveToFirst();
86
+
87
+ onStart();
88
+
89
+ }
90
+
91
+ }
92
+
37
- });
93
+ });
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+ }
102
+
103
+ return false;
104
+
105
+ }
106
+
107
+ });
38
108
 
39
109
  ```
40
110
 
41
- この上の方法では、押し方をevent.getAction() == MotionEvent.ACTION_DOWNで判断していますが、
42
-
43
- 押した内容を、この下のLongClickのparentのように取得する方法はあるのでしょうか?
111
+ 押した場所の内容を、この下のLongClickのparentのように取得する方法はあるのでしょうか? getX()などで座標は取れるらしいですが、parentのような物を取得することは不可能なのでしょうか?
44
112
 
45
113
  ```java
46
114
 

1

誤字

2017/05/06 03:30

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -8,9 +8,9 @@
8
8
 
9
9
  @Override public void run() {
10
10
 
11
- Toast.makeText(Activity.this, "Long click performed”,
11
+ Toast toast = Toast.makeText(LocationActivity.this, "Long click", Toast.LENGTH_SHORT);
12
12
 
13
- Toast.LENGTH_SHORT).show();
13
+ toast.show();
14
14
 
15
15
  }
16
16