teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

6

誤字

2017/05/06 05:45

投稿

edoooooo
edoooooo

スコア478

title CHANGED
@@ -1,1 +1,1 @@
1
- Spinnerで長押しを判断したい。onTouch(View v, MotionEvent event)から、selectしているitemを取得する方法はありますか?。
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のように、selectしているitemを取得する方法はありますか?
4
+ でのparentのように、getSelectしているitemを取得する方法はありますか?
5
5
  ```java
6
6
  final Handler actionHandler = new Handler();
7
7
  final Runnable runnable = new Runnable() {

5

説明

2017/05/06 05:45

投稿

edoooooo
edoooooo

スコア478

title CHANGED
@@ -1,1 +1,1 @@
1
- Spinnerで長押しを判断したい。new Handler()のeventから、selectしているitemを取得する方法はありますか?。
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

説明の追加

2017/05/06 03:44

投稿

edoooooo
edoooooo

スコア478

title CHANGED
@@ -1,1 +1,1 @@
1
- Spinnerで長押しを判断したい。new Handler();を使い、LongClickparentのように取得い。
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のように取得する方法はあるのでしょうか? getX()などで座標は取れるらしいですが、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

説明の追加

2017/05/06 03:39

投稿

edoooooo
edoooooo

スコア478

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

説明

2017/05/06 03:34

投稿

edoooooo
edoooooo

スコア478

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
- final Runnable runnable = new Runnable() {
3
+ final Runnable runnable = new Runnable() {
5
- @Override public void run() {
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
- spinner.setOnTouchListener(new View.OnTouchListener() {
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
- } else if(event.getAction() == MotionEvent.ACTION_UP){
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

誤字

2017/05/06 03:30

投稿

edoooooo
edoooooo

スコア478

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(Activity.this, "Long click performed”,
6
+ Toast toast = Toast.makeText(LocationActivity.this, "Long click", Toast.LENGTH_SHORT);
7
- Toast.LENGTH_SHORT).show();
7
+ toast.show();
8
8
  }
9
9
  };
10
10
  spinner.setOnTouchListener(new View.OnTouchListener() {