質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

checkbox

checkboxは、GUIのエレメントです。また、HTML<input>タグのtype属性で扱われる値を指します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

2446閲覧

android studioで複数のcheckboxのうち何個にチェックが入っているか数えるプログラム

souja

総合スコア13

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

checkbox

checkboxは、GUIのエレメントです。また、HTML<input>タグのtype属性で扱われる値を指します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2019/10/30 06:22

編集2019/11/01 03:26

新たな仕様で、10個のうち、何個にチェックが入っているかをボタンを押して表示したいです。
エラーはfinal変数checkcountに値を代入することはできません。と表示されます。ですが、finalで宣言しないと、finalで宣言する必要があるというエラーがでます。どなたか教えていただきたいです。

java

1package com.example.soja.page1; 2 3import android.content.Intent; 4import android.os.Bundle; 5import android.view.View; 6import android.widget.Button; 7import android.widget.CheckBox; 8import android.widget.TextView; 9 10import androidx.appcompat.app.AppCompatActivity; 11 12public class nextpage5 extends AppCompatActivity { 13 private TextView Checkview; 14 private CheckBox[] checkBox = new CheckBox[21]; 15 int arraycount = 11;//チェック数を数えるため// 16 int checkcount = 0;//チェック数を保持// 17 boolean[] checkarray = new boolean[arraycount];//チェック状態を保存する配列checkarray// 18 19 20 21 protected void onCreate(Bundle savedInstanceState) { 22 super.onCreate(savedInstanceState); 23 setContentView(R.layout.activity_nextpage5); 24 25 checkBox[0] = findViewById(R.id.box1); 26 checkBox[1] = findViewById(R.id.box2); 27 checkBox[2] = findViewById(R.id.box3); 28 checkBox[3] = findViewById(R.id.box4); 29 checkBox[4] = findViewById(R.id.box5); 30 checkBox[5] = findViewById(R.id.box6); 31 checkBox[6] = findViewById(R.id.box7); 32 checkBox[7] = findViewById(R.id.box8); 33 checkBox[8] = findViewById(R.id.box9); 34 checkBox[9] = findViewById(R.id.box10); 35 36 Button nextbutton = findViewById(R.id.nextbutton); 37 Button checkbutton = findViewById(R.id.checkbutton); 38 39 Checkview = findViewById(R.id.checkview); 40 41 //チェックされていたら、checkarrayの要素がtureとなる。// 42 for (int i = 0; i < arraycount; i++) { 43 checkarray[i] = false; 44 checkarray[i] = checkBox[i].isChecked(); 45 } 46 47 //チェックボタンが押されたときの処理// 48 checkbutton.setOnClickListener(new View.OnClickListener() { 49 public void onClick(View view){ 50 for (int i = 0; i < arraycount; i++) { 51 if (true == checkarray[i]) { 52 checkcount++; 53 } 54 } 55 Checkview.setText(String.valueOf(checkcount)); 56 } 57 }); 58 59 //ボタンが押された時の処理// 60 nextbutton.setOnClickListener(new View.OnClickListener() { 61 public void onClick(View view) { 62 //インテントの作成// 63 Intent intent = new Intent(nextpage5.this, nextpage1sample.class); 64 startActivity(intent); 65 } 66 }); 67 } 68}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

checkboxの配列に入れて、forででもぶん回せばいいだけの話ですね

投稿2019/10/30 06:30

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

souja

2019/10/30 06:36

ご回答ありがとうございます。具体的なコードを教えていただいてもよろしいですか?
y_waiwai

2019/10/30 06:48

10個のcheckboxあるなら、要素数10のcheckbox配列を作って、 ckbox[0]=なんたら ckbox[1]=なんたら ckbox[2]=なんたら ・・・・ っていれてけばいいってことですねー
souja

2019/10/30 07:47

ありがとうございます!やってみます。
y_waiwai

2019/10/30 07:54

ならあとはfor文で、0から9までループを。。
souja

2019/10/31 05:47

ちょっと仕様を変えて、10個のうち、何個にチェックが入っているかを表示するように変更をしました。 するとエラーがでてしまいます。エラーはfinal変数checkcountに値を代入することはできませんとなります。質問を編集しましたのでそちらを確認していただきたいです。
y_waiwai

2019/10/31 06:01

finalをつけた変数は変更できません。 変更したいなら外しときましょう
souja

2019/10/31 06:27

そう思って、外してみたんですが、「ローカル変数checkcountは内部クラスからアクセスされます。finalで宣言される必要があります」というエラーが出てしまいます。この解決方法がわかりません。
y_waiwai

2019/10/31 07:09

クラス変数に(関数の外で定義)しときましょう
souja

2019/10/31 08:02

そうしたら、実行できました!ありがとうございます!
souja

2019/11/01 03:28

たびたびすいません。実行はできたのですが、チェックをいれてcheckbuttonを押してもチェックの数字が0になってしまいます。どうしたらいいでしょうか?教えていただきたいです。
y_waiwai

2019/11/01 04:10

そのボタンを押したところで実行を止め、そこから1行づつ実行させて変数のナカミがどうなるか見ていきましょう。 そんで、おかしい動作をするところを修正していきます 「androidstudio デバッグ」でぐぐると、やりかたでてきます
souja

2019/11/01 04:16

ありがとうございます!ためしてみます!
souja

2019/11/05 06:51

解決しました!ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問