趣味でandroidの開発を楽しんでおります(プログラム初心者)
現在計算させるツールを製作しています。
例えば、
100+xという計算式があるとします。
そこで、ラジオボタン2つをradio0を選択するとx=100、radio1を選択するとx=200という数値を持たせたいと考えております。
そしてボタンを押すとその計算結果をTextViewに表示させたいです。.
現在コードを作っていますが、選択によって数値を変える所までは出来た(?)んですがそれを計算させて表示させるコードをどの部分に書いたらいいのか分かりません。
下記のコードだとボタンを押したときに計算されるのではなく、チェックボタンを押したときに計算されてしまいます。
final Button btn2 = (Button) findViewById(R.id.keisan2); //計算ボタン
btn2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
keisan2();
}
});
public void keisan2 (){
final RadioGroup group = (RadioGroup)findViewById(R.id.radioGroup1);
group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
public void onCheckedChanged(RadioGroup arg0,int arg1){
int x;
if(arg0 == group){
switch(arg1){
case R.id.radio0:
x = 100;
int y = 100 + x;
men.setText(String.valueOf(y));
break;
case R.id.radio1:
x = 200;
int z = 100 + x;
men.setText(String.valueOf(z));
break;
}
}
}
});
初歩的な質問ですがご教授の程よろしくお願いします。
No.1ベストアンサー
- 回答日時:
おそらく、コードの内容を理解されていないのだろうと思います。
ボタンをクリックした時にkeisan2を実行していますが、このkeisan2で行なっているのは、計算そのものではなく、RadioGroupにCheckedChangeイベント処理のためのリスナーを登録する作業です。ですから、こんな感じで内容を整理してみてください。1. ラジオボタンのイベント処理を登録するgroup.setOnCheckedChangeListenerの部分を、keisan2 からonCreateなどに移動する。
2. onCheckedChanged内にある処理を整理する。switchでどのラジオボタンのイベント化をチェックしたら、インスタンス変数などにxの値(100または200)を保管するだけにする。
3. 計算の処理部分(計算し、結果をmen.setTextで表示している部分)を、ボタンのOnClickListenerにあるonClickメソッド内に移す。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- 統計学 t値の計算方法 1 2022/11/29 18:37
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
C言語についてです。 再帰を使...
-
y=(x^2 +3x+1)^4を微分の定義を...
-
変化させるセルが変化しない
-
スレッド処理からダイアログを...
-
60進数の四則計算
-
小数点以下を切り捨てたい
-
matlab計算での進捗状況を知りたい
-
VBAの再計算が反映されない件に...
-
EXCELなどで「返す」という表現
-
引き放し法による除算アルゴリ...
-
排他的論理和 BCC(水平パリテ...
-
Vba Cells.Findについて教えて...
-
計算の便利なプログラム言語
-
Excel VBAの残業時間の合計計算...
-
円の最小二乗法のプログラム
-
高速化のテクニック
-
時間(ミリ秒を含む)の引き算
-
傾いた四角形内の範囲の条件式
-
matlabで計算終了
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
mod でうまく
-
めちゃきれい
-
排他的論理和 BCC(水平パリテ...
-
VBAの再計算が反映されない件に...
-
モジュラス103の計算とは何でし...
-
バッチファイルでウインドウを...
-
EXCELなどで「返す」という表現
-
変化させるセルが変化しない
-
60進数の四則計算
-
プログラムの質問
-
VBでReplace
-
数値計算の高速化 (cos, sin, exp)
-
C言語についてです。 再帰を使...
-
C言語のプログラミングの問題で...
-
Javaを使った行列計算
-
エクセルで特定のセルのみを任...
-
matlab計算での進捗状況を知りたい
-
CとFORTRANの計算速度はどちら...
-
matlabで計算終了
おすすめ情報