iT邦幫忙

2022 iThome 鐵人賽

DAY 14
0
Mobile Development

上班到一半突然被通知被炒了的我只好來寫個賓果系列 第 14

Day14 在dailog裡印 R.string 的字串 但印出來的只是一串數字時該怎麼辦

  • 分享至 

  • xImage
  •  

上期把輸入按鈕也做完了,現在來做個dialog來提醒使用者輸入了重複的數字

首先,先在res/values/strings裡加入新的字串“輸入了重複的數字”,然後再去設置dialog
https://ithelp.ithome.com.tw/upload/images/20220912/20140063nPDC9gAvF3.png

<string name="numberRepeat">輸入了重複的數字!</string>

https://ithelp.ithome.com.tw/upload/images/20220912/20140063mGTiN8uJBk.png
基本上都跟之前一樣,只有setMessage那邊要稍微改一下

private void showDialogRepeatNumber(){
   AlertDialog repeatNumber = new AlertDialog.Builder(MainActivity.this)
           .setTitle(R.string.warn)
           .setMessage(R.string.numberRepeat)
           .setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() {
               @Override
               public void onClick(DialogInterface dialog, int which) {
               }
           }).create();
   repeatNumber.show();
}

現在應該會偵測數字是否重複跟超出範圍了,做到這邊可以稍微測試一下,因為有數字了,所以接下來也差不多可以進到遊戲模式了,但輸入模式裡面還有一個亂數按鈕,所以就把輸入模式全部解決再來用遊戲模式吧!

另外在使用(R.string.某某某)的時候,如果要在後面加東西,像是
R.string.test + R.string.ok 或是R.string.test + “ok”
https://ithelp.ithome.com.tw/upload/images/20220912/201400633uQlofBjc1.png
就會像這樣印出一串數字(id)(上圖以R.string.test + “ok”為例)

如果要解決R.string印出的是一串數字(id)的問題,可以使用getBaseContext().getString(R.string.某某某)
這樣就可以得到此字串了
ex:getBaseContext().getString(R.string.test) + “ok”

下期預告:當你看到一堆按鈕,然後還要一個一個輸入肯定會感到煩躁,那麼就設定一個按鈕來幫你產生隨機的數字吧!


上一篇
Day13 阿數字都一樣賓果是要怎麼玩
下一篇
Day15 大家的時間是很珍貴的,所以來設個一鍵幫你輸入完全部數字
系列文
上班到一半突然被通知被炒了的我只好來寫個賓果30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言