質問編集履歴

2

質問内容

2019/11/01 03:26

投稿

souja
souja

スコア13

test CHANGED
File without changes
test CHANGED
@@ -30,11 +30,17 @@
30
30
 
31
31
  private TextView Checkview;
32
32
 
33
- private CheckBox[] checkBox = new CheckBox[10];
33
+ private CheckBox[] checkBox = new CheckBox[21];
34
34
 
35
- //チェック数を数えるため//
35
+ int arraycount = 11;//チェック数を数えるため//
36
36
 
37
- int arraycount = 10;
37
+ int checkcount = 0;//チェック数を保持//
38
+
39
+ boolean[] checkarray = new boolean[arraycount];//チェック状態を保存する配列checkarray//
40
+
41
+
42
+
43
+
38
44
 
39
45
 
40
46
 
@@ -78,24 +84,6 @@
78
84
 
79
85
 
80
86
 
81
- //チェック数を数えるため//
82
-
83
- final int arraycount = 10;
84
-
85
-
86
-
87
- //チェック状態を保存する配列checkarray//
88
-
89
- final boolean[] checkarray = new boolean[arraycount];
90
-
91
-
92
-
93
- //チェック数を保持//
94
-
95
- final int checkcount = 0;
96
-
97
-
98
-
99
87
  //チェックされていたら、checkarrayの要素がtureとなる。//
100
88
 
101
89
  for (int i = 0; i < arraycount; i++) {
@@ -114,7 +102,7 @@
114
102
 
115
103
  public void onClick(View view){
116
104
 
117
- for (int i = 0; i <= 10; i++) {
105
+ for (int i = 0; i < arraycount; i++) {
118
106
 
119
107
  if (true == checkarray[i]) {
120
108
 
@@ -124,13 +112,11 @@
124
112
 
125
113
  }
126
114
 
127
- Checkview.setText(checkcount);
115
+ Checkview.setText(String.valueOf(checkcount));
128
116
 
129
117
  }
130
118
 
131
119
  });
132
-
133
-
134
120
 
135
121
 
136
122
 

1

質問内容

2019/11/01 03:26

投稿

souja
souja

スコア13

test CHANGED
@@ -1 +1 @@
1
- android studioで複数のcheckboxに1つでもチェックが入ればOKを返し、入らなったらNOTを返すというプログラム
1
+ android studioで複数のcheckboxのうち何個にチェックが入いる数えるプログラム
test CHANGED
@@ -1,6 +1,6 @@
1
- 途中まはかいたです、よくわからなくなってしまました。OKとNOTた後に画面遷移を行いたいと考えいます。checkboxでひとつづつリスナーを呼び出て分岐をするのはあまりい方法はないと思うのでが、いい方法が思いつかないです
1
+ 新たな仕様、10個うち、何個にチェックっているかボタンを押して表示いです。
2
2
 
3
- どなたか教えていただきたいです。
3
+ エラーはfinal変数checkcountに値を代入することはできません。と表示されます。ですが、finalで宣言しないと、finalで宣言する必要があるというエラーがでます。どなたか教えていただきたいです。
4
4
 
5
5
  ```java
6
6
 
@@ -18,6 +18,8 @@
18
18
 
19
19
  import android.widget.CheckBox;
20
20
 
21
+ import android.widget.TextView;
22
+
21
23
 
22
24
 
23
25
  import androidx.appcompat.app.AppCompatActivity;
@@ -26,11 +28,13 @@
26
28
 
27
29
  public class nextpage5 extends AppCompatActivity {
28
30
 
31
+ private TextView Checkview;
29
32
 
33
+ private CheckBox[] checkBox = new CheckBox[10];
30
34
 
31
- private CheckBox checkBox1, checkBox2, checkBox3, checkBox4, checkBox5, checkBox6, checkBox7;
35
+ //チェック数を数えるため//
32
36
 
33
- private CheckBox checkBox8, checkBox9, checkBox10;
37
+ int arraycount = 10;
34
38
 
35
39
 
36
40
 
@@ -42,57 +46,91 @@
42
46
 
43
47
 
44
48
 
45
- checkBox1 = findViewById(R.id.box1);
49
+ checkBox[0] = findViewById(R.id.box1);
46
50
 
47
- checkBox2 = findViewById(R.id.box2);
51
+ checkBox[1] = findViewById(R.id.box2);
48
52
 
49
- checkBox3 = findViewById(R.id.box3);
53
+ checkBox[2] = findViewById(R.id.box3);
50
54
 
51
- checkBox4 = findViewById(R.id.box4);
55
+ checkBox[3] = findViewById(R.id.box4);
52
56
 
53
- checkBox5 = findViewById(R.id.box5);
57
+ checkBox[4] = findViewById(R.id.box5);
54
58
 
55
- checkBox6 = findViewById(R.id.box6);
59
+ checkBox[5] = findViewById(R.id.box6);
56
60
 
57
- checkBox7 = findViewById(R.id.box7);
61
+ checkBox[6] = findViewById(R.id.box7);
58
62
 
59
- checkBox8 = findViewById(R.id.box8);
63
+ checkBox[7] = findViewById(R.id.box8);
60
64
 
61
- checkBox9 = findViewById(R.id.box9);
65
+ checkBox[8] = findViewById(R.id.box9);
62
66
 
63
- checkBox10 = findViewById(R.id.box10);
67
+ checkBox[9] = findViewById(R.id.box10);
64
68
 
65
69
 
66
70
 
67
71
  Button nextbutton = findViewById(R.id.nextbutton);
68
72
 
69
-
70
-
71
- ここから先がよくわかりません。
73
+ Button checkbutton = findViewById(R.id.checkbutton);
72
74
 
73
75
 
74
76
 
75
- checkBox1.setOnClickListener(new View.OnClickListener() {
77
+ Checkview = findViewById(R.id.checkview);
76
78
 
77
- public void onClick(View v) {
78
79
 
79
- if (checkBox1.isChecked() == true) {
80
80
 
81
-
81
+ //チェック数を数えるため//
82
+
83
+ final int arraycount = 10;
84
+
85
+
86
+
87
+ //チェック状態を保存する配列checkarray//
88
+
89
+ final boolean[] checkarray = new boolean[arraycount];
90
+
91
+
92
+
93
+ //チェック数を保持//
94
+
95
+ final int checkcount = 0;
96
+
97
+
98
+
99
+ //チェックされていたら、checkarrayの要素がtureとなる。//
100
+
101
+ for (int i = 0; i < arraycount; i++) {
102
+
103
+ checkarray[i] = false;
104
+
105
+ checkarray[i] = checkBox[i].isChecked();
106
+
107
+ }
108
+
109
+
110
+
111
+ //チェックボタンが押されたときの処理//
112
+
113
+ checkbutton.setOnClickListener(new View.OnClickListener() {
114
+
115
+ public void onClick(View view){
116
+
117
+ for (int i = 0; i <= 10; i++) {
118
+
119
+ if (true == checkarray[i]) {
120
+
121
+ checkcount++;
122
+
123
+ }
82
124
 
83
125
  }
84
126
 
85
- else {
127
+ Checkview.setText(checkcount);
86
-
87
-
88
-
89
- }
90
128
 
91
129
  }
92
130
 
131
+ });
93
132
 
94
133
 
95
- });
96
134
 
97
135
 
98
136
 
@@ -104,18 +142,16 @@
104
142
 
105
143
  //インテントの作成//
106
144
 
107
- Intent intent = new Intent(nextpage5.this, nextpage6.class);
145
+ Intent intent = new Intent(nextpage5.this, nextpage1sample.class);
108
146
 
109
147
  startActivity(intent);
110
148
 
111
149
  }
112
150
 
113
- });
151
+ });
114
152
 
115
153
  }
116
154
 
117
155
  }
118
156
 
119
-
120
-
121
157
  ```