質問編集履歴

5

内容の変更

2022/01/15 05:12

投稿

YonHan
YonHan

スコア40

test CHANGED
File without changes
test CHANGED
@@ -151,7 +151,8 @@
151
151
  ### 試したこと
152
152
 
153
153
  上記のソースコード参照
154
- ・SQLのSELECT文を使おうとも考えました。
154
+ ・SQLのSELECT文を使おうとも考えました。ですが、その後どう書けばわからなくなり、一旦保留しました。
155
+ ・data2というものにリストBに表示するためのアイテムを保存しようと考えました。
155
156
 
156
157
  ### 補足情報(FW/ツールのバージョンなど)
157
158
 

4

内容の修正

2022/01/15 05:06

投稿

YonHan
YonHan

スコア40

test CHANGED
File without changes
test CHANGED
@@ -19,7 +19,81 @@
19
19
 
20
20
  ### 該当のソースコード
21
21
  ```Java
22
+ package com.example.adaptertest2;
23
+ import android.app.Activity;
24
+ import android.content.DialogInterface;
25
+ import android.content.Intent;
26
+ import android.database.Cursor;
27
+ import android.database.sqlite.SQLiteDatabase;
28
+ import android.os.Bundle;
29
+ import android.view.View;
30
+ import android.widget.AdapterView;
31
+ import android.widget.ListView;
32
+
33
+ import androidx.appcompat.app.AlertDialog;
34
+
35
+ import java.util.ArrayList;
36
+
37
+ public class Tab_01 extends Activity {
38
+
39
+ DBHelper_1 DBHelper1;
40
+ ArrayList<User> userList;
41
+ ListView listView,listView1;
42
+ User user;
43
+
44
+ SQLiteDatabase db;
45
+
46
+ @Override
47
+ protected void onCreate(
48
+ Bundle savedInstanceState) {
49
+ super.onCreate(savedInstanceState);
50
+ setContentView(R.layout.activity_tab01);
51
+ }
52
+
53
+ public void onaddButtonClick1(View view) {
54
+ Intent intent = new Intent(getApplication(), add.class);
55
+ intent.putExtra("ScreenBefore","Tab_01");
56
+ startActivity(intent);
57
+ }
58
+
59
+ //チェックボックス押したときの処理
60
+ public void deleteTask(View view){
61
+
62
+ }
63
+
64
+ @Override
65
+ //他のアクティビティから戻る際にListViewを更新したいためonResumeに記述
66
+ protected void onResume() {
67
+ super.onResume();
68
+
69
+ DBHelper1 = new DBHelper_1(this);
70
+ userList = new ArrayList<>();
71
+ Cursor data = DBHelper1.getListContents();
72
+ //int numRows = data.getCount();
73
+
74
+ //TODO todoテスト変更2
75
+ int i=0;
76
+ while(data.moveToNext()){
77
+ user = new User(data.getLong(0),data.getString(1),data.getString(2),data.getString(3),data.getString(4));
78
+ userList.add(i,user);
79
+ System.out.println(data.getString(3)+" "+data.getString(4));
80
+ System.out.println(data.getString(1)+" "+data.getString(2));
81
+ System.out.println(userList.get(i).getTitleName());
82
+ i++;
83
+ }
84
+ TwoColumnAdapter adapter = new TwoColumnAdapter(this,R.layout.lv_adapter, userList);
85
+ ToDoAdapter todoadapter = new ToDoAdapter(this,R.layout.todo_adapter, userList);
86
+ listView = (ListView) findViewById(R.id.lv1);
87
+ listView1 = (ListView) findViewById(R.id.lv1_1);
88
+ listView.setAdapter(adapter);
89
+ listView1.setAdapter(todoadapter);
90
+ listView.setOnItemClickListener(new OnItemClickListener());
91
+ listView.setOnItemLongClickListener(new OnItemLongClickListener());
92
+
93
+ }
94
+ //TODO 予定リスト押したら、ToDoリストに予定に対するToDo入る
22
- //タブ1のリストを押した場合
95
+ //タブ1のリストを押した場合
96
+ // ToDoAdapter todoadapter = new ToDoAdapter(this,R.layout.todo_adapter, userList);
23
97
  public class OnItemClickListener implements AdapterView.OnItemClickListener {
24
98
  public void onItemClick(AdapterView<?> adapter, View view, int position, long id) {
25
99
 
@@ -31,29 +105,49 @@
31
105
  //★IDの取得★
32
106
  User user = userList.get(userList.size() - 1 - position);
33
107
  long UserId = user.getId();
34
-
108
+
35
109
  //TODO todoテスト変更2
36
- if(UserId == アダプターBのID) {//クリックしたアイテムのIDとアダプターBのID一緒だったら処理
110
+ if(UserId == 1) {//アダプターBのIDクリックしたアイテムのIDが同じだったら...
37
111
 
38
112
  int i = 0;
39
113
  while (data.moveToNext()) {
40
114
  user = new User(data.getLong(0), data.getString(1), data.getString(2), data.getString(3), data.getString(4));
41
115
  data1.add(i, user);
42
116
  System.out.println(data.getString(3) + " " + data.getString(4));
43
- System.out.println(data1.get(i).getTitleName());
117
+ System.out.println(userList.get(i).getTitleName());
44
118
  i++;
45
119
  }
46
120
  ToDoAdapter todoadapter = new ToDoAdapter(this, R.layout.todo_adapter, data1);
47
121
  listView1 = (ListView) findViewById(R.id.lv1_1);
48
122
  listView1.setAdapter(todoadapter);
49
-
123
+
50
124
  }
51
- //db.execSQL("SELECT TODO1NAME FROM lv1_data WHERE ID ==" + UserId); SQLの試み
125
+ //db.execSQL("SELECT TODO1NAME FROM lv1_data WHERE ID ==" + UserId);
52
126
 
53
127
  }
54
128
  }
129
+
130
+ //タブ1のリストを長押しした場合
131
+ private class OnItemLongClickListener implements AdapterView.OnItemLongClickListener {
132
+
133
+ public boolean onItemLongClick(AdapterView<?> parent, View view , int position, long id) {
134
+ //ダイアログ準備
135
+ AlertDialog.Builder builder = new AlertDialog.Builder(Tab_01.this);
136
+ builder.setTitle("削除しますか?");
137
+ builder.setPositiveButton("はい", new DialogInterface.OnClickListener() {
138
+ @Override
139
+ public void onClick(DialogInterface dialog, int which) {
140
+
141
+ }
142
+ });
143
+ builder.setNegativeButton("いいえ",null);
144
+ builder.setCancelable(true);
145
+ builder.show();
146
+ return true;
147
+ }
148
+ }
149
+ }
55
150
  ```
56
- [このクラスのソースコード全文](https://www.ideone.com/aOAMan)
57
151
  ### 試したこと
58
152
 
59
153
  上記のソースコード参照

3

内容の修正

2022/01/14 06:34

投稿

YonHan
YonHan

スコア40

test CHANGED
File without changes
test CHANGED
@@ -43,7 +43,7 @@
43
43
  System.out.println(data1.get(i).getTitleName());
44
44
  i++;
45
45
  }
46
- ToDoAdapter todoadapter = new ToDoAdapter(this, R.layout.todo_adapter, userList);
46
+ ToDoAdapter todoadapter = new ToDoAdapter(this, R.layout.todo_adapter, data1);
47
47
  listView1 = (ListView) findViewById(R.id.lv1_1);
48
48
  listView1.setAdapter(todoadapter);
49
49
 

2

内容の変更

2022/01/14 06:31

投稿

YonHan
YonHan

スコア40

test CHANGED
File without changes
test CHANGED
@@ -19,20 +19,37 @@
19
19
 
20
20
  ### 該当のソースコード
21
21
  ```Java
22
+ //タブ1のリストを押した場合
22
- public class OnItemClickListener implements AdapterView.OnItemClickListener {
23
+ public class OnItemClickListener implements AdapterView.OnItemClickListener {
23
- ToDoAdapter todoadapter = new ToDoAdapter(this,R.layout.todo_adapter, userList);
24
24
  public void onItemClick(AdapterView<?> adapter, View view, int position, long id) {
25
+
25
-
26
+ ArrayList data1 = new ArrayList<>();
27
+
28
+ Cursor data = DBHelper1.getListContents();
29
+ //int numRows = data.getCount();
30
+
26
31
  //★IDの取得★
27
32
  User user = userList.get(userList.size() - 1 - position);
28
- long UserId = user.getId();
33
+ long UserId = user.getId();
34
+
35
+ //TODO todoテスト変更2
36
+ if(UserId == アダプターBのID) {//クリックしたアイテムのIDとアダプターBのIDが一緒だったら処理
29
37
 
38
+ int i = 0;
39
+ while (data.moveToNext()) {
40
+ user = new User(data.getLong(0), data.getString(1), data.getString(2), data.getString(3), data.getString(4));
41
+ data1.add(i, user);
42
+ System.out.println(data.getString(3) + " " + data.getString(4));
30
- if(UserId == アダプターBのID) {//同じIDだった時
43
+ System.out.println(data1.get(i).getTitleName());
44
+ i++;
45
+ }
31
- //リスト2に表示する処理
46
+ ToDoAdapter todoadapter = new ToDoAdapter(this, R.layout.todo_adapter, userList);
32
47
  listView1 = (ListView) findViewById(R.id.lv1_1);
33
48
  listView1.setAdapter(todoadapter);
49
+
34
50
  }
35
-
51
+ //db.execSQL("SELECT TODO1NAME FROM lv1_data WHERE ID ==" + UserId); SQLの試み
52
+
36
53
  }
37
54
  }
38
55
  ```
@@ -40,6 +57,7 @@
40
57
  ### 試したこと
41
58
 
42
59
  上記のソースコード参照
60
+ ・SQLのSELECT文を使おうとも考えました。
43
61
 
44
62
  ### 補足情報(FW/ツールのバージョンなど)
45
63
 

1

2022/01/14 05:55

投稿

YonHan
YonHan

スコア40

test CHANGED
File without changes
test CHANGED
@@ -36,7 +36,7 @@
36
36
  }
37
37
  }
38
38
  ```
39
-
39
+ [このクラスのソースコード全文](https://www.ideone.com/aOAMan)
40
40
  ### 試したこと
41
41
 
42
42
  上記のソースコード参照