亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

通過單選按鈕將男性或女性設置為整數

通過單選按鈕將男性或女性設置為整數

慕碼人8056858 2021-10-28 16:52:24
我有一個簡單的故事應用程序,讀者在開始時選擇他們是男性還是女性。我有一個男孩和女孩的廣播組。然后我想獲取此信息并使用它,以便顯示正確的性別措辭。他和她。我用過這個代碼public void onRadioButtonClicked(View view) {    int radioButtonId = rg.getCheckedRadioButtonId();    rb = findViewById(radioButtonId);    if (rb.getText().equals("boy")) {        gender = 1;    } else {        gender = 2;    }}因此,如果選擇男孩,則 int 性別 = 1,否則性別 = 2。當按下按鈕讓某人“說話”時,它會查看是否性別 ==1 它將顯示他,否則它將使用她。我的問題是性別總是==2。我已經使用 Log.i 來檢查這一點,我似乎可以將性別設為 1。即使單擊了男孩單選按鈕。請任何人都可以提供任何幫助。
查看完整描述

3 回答

?
寶慕林4294392

TA貢獻2021條經驗 獲得超8個贊

我假設錯誤是因為您的單選按鈕的文本實際上并沒有說“男孩”。也許是“男孩”?


無論如何,最好檢查 id 而不是文本。假設您使用 xml 制作了無線電組,您應該提供您的按鈕 ID。例如id“男孩”。然后你可以這樣做:


public void onRadioButtonClicked(View view) {

    if (rg.getCheckedRadioButtonId() == R.id.boy) {

        gender = 1;

    } else {

        gender = 2;

    }

}


查看完整回答
反對 回復 2021-10-28
?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

該問題可能是由于未將文本轉換為String. 您需要打電話toString()進行比較。由于getText()回報率可編輯的類型,這樣的代碼應該是這樣的:rb.getText().toString().equals("boy")。還要檢查單詞的拼寫boy是否正確。


查看完整回答
反對 回復 2021-10-28
?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

您正在使用 equals 方法!這是不正確的!你要使用的是

 (rb.getText().compareToIgnoreCase(“boy”) == 0)

Equals 比較內存引用的值而不是它們的實際值,因為 compareTo 將比較這些值,返回 0 表示“匹配”,-1 或 1(不需要擔心這些值,它們只是意味著它們不匹配)


查看完整回答
反對 回復 2021-10-28
  • 3 回答
  • 0 關注
  • 149 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號