[問題] 請問TextView能一次顯示多個結果嗎?

看板AndroidDev作者時間3年前 (2020/06/08 23:58), 3年前編輯推噓6(6022)
留言28則, 11人參與, 3年前最新討論串1/1
就是希望有1~100裡取5個隨機的數字 public void button(View view) { TextView textView=findViewById(R.id.textView); for(int n,i=1;i<=5;i++){ n=(int)Math.random()100)+1 textView.setText(n+""); } } 但最後textView.setText(n+"");只會顯示出5個裡最後一個數字 有什麼辦法可以讓textView顯示全部5個數字嗎? 另外數字想要不重複的話該怎麼寫比較好?? 感謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.243.1.249 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1591631923.A.A92.html

06/09 00:35, 3年前 , 1F
你可以先加在字串上最後在setText
06/09 00:35, 1F
是要先把5個結果變成字串嗎?

06/09 01:58, 3年前 , 2F
n= 改成n+=
06/09 01:58, 2F
這樣語法好像有錯

06/09 06:17, 3年前 , 3F
這看起來向回家作業…
06/09 06:17, 3F
的確有點像,不過是自我練習就是

06/09 07:05, 3年前 , 4F
數字要不重複 比對list內是否有相同值 已經有值就重新
06/09 07:05, 4F

06/09 07:05, 3年前 , 5F
取值
06/09 07:05, 5F
嗯...用IF來寫嗎?

06/09 07:09, 3年前 , 6F
然後你可以用Stringbuilder append你的字串
06/09 07:09, 6F
這就不懂了

06/09 18:07, 3年前 , 7F
你每次setText都是設定,只會覆蓋原本內容
06/09 18:07, 7F

06/09 18:08, 3年前 , 8F
如何顯示5次的結果,你先自己思考看看
06/09 18:08, 8F
先使用個陣列物件把5個結果的值放裡面,最後setText再一次顯示陣列裡的所有值嗎?

06/09 22:35, 3年前 , 9F
思考方向對了,但是不用用到陣列,而是使用字串相加
06/09 22:35, 9F
查了一下,是aiweisen說的用StringBuilder.append來做嗎? 嗯,可是他的看過做法還是不太知道詳細的該怎麼寫...

06/10 00:40, 3年前 , 10F
1+1=2,"1"+"1"="11",我只能幫到這了
06/10 00:40, 10F
感謝,我知道"1"+"1"="11"這個意思,只是我不知道該怎麼把n裡面的東西給單獨提取出 來 變成個別的字串這樣

06/10 00:58, 3年前 , 11F
google關鍵字有一大堆部落格範例說明,看過了嗎?
06/10 00:58, 11F

06/10 00:58, 3年前 , 12F
字串處理、字串相加....或直接打英文也可以,
06/10 00:58, 12F
這個我有看,是指先定義好String A="11"; String B="12"; String C=A+B; System.out.println(C); 會顯示"1112" 但像n這個裡面有東西的就不知道該怎麼個別拿出來就是

06/10 00:59, 3年前 , 13F
建議初學要先練習找出關鍵字&看logcat,很有幫助的
06/10 00:59, 13F
您是指Log.d嗎? 如果是的話我有看,裡面的確有5個值

06/10 02:28, 3年前 , 14F
最簡方法 setText改成append
06/10 02:28, 14F
喔!!有顯示出全部的值了,但是他要怎麼給每個值都分開來呢?

06/10 11:50, 3年前 , 15F
寫程式不是短就是好,比較好的做法是先在迴圈裡串好字串
06/10 11:50, 15F

06/10 11:52, 3年前 , 16F
出迴圈再用setText,這樣系統就不會一直重繪浪費效能
06/10 11:52, 16F

06/10 11:53, 3年前 , 17F
這樣你也比較好debug
06/10 11:53, 17F
了解 我原本的預想是用IF來跑,第一個值setText一次,但後來發現這樣也不對就是 ※ 編輯: MAXQb (111.243.3.133 臺灣), 06/10/2020 13:14:31

06/10 13:48, 3年前 , 18F
每個值要分開 就在append的時候多塞一個分隔符號或是
06/10 13:48, 18F

06/10 13:48, 3年前 , 19F
空白之類的字元
06/10 13:48, 19F
請問他的位置是在append.的()裡嗎?

06/10 16:48, 3年前 , 20F
在回圈外層的上面定一個變數字串,在回圈內將字串+=n,最
06/10 16:48, 20F

06/10 16:48, 3年前 , 21F
後在回圈外的下面再把字串顯示就好,這樣試試
06/10 16:48, 21F
+=n這樣用意是提取裡面的值嗎?

06/11 10:14, 3年前 , 22F
初學的話還是要學一下基本語法,還有語言特性
06/11 10:14, 22F

06/11 10:16, 3年前 , 23F
不然你寫完也是不懂為什麼結果是這樣
06/11 10:16, 23F
了解,感謝。 另外append.這個使用後,再點一次按鈕他出現的數字增加了(變成10個) 所以好像也不太對

06/12 00:50, 3年前 , 24F
你這問題代表你一些基本的特性很不了解喔~
06/12 00:50, 24F

06/12 00:50, 3年前 , 25F
每按一次就要把原本的字串給清空 否則你每多按一次
06/12 00:50, 25F

06/12 00:50, 3年前 , 26F
就又加五筆數字串進去
06/12 00:50, 26F
了解,所以要加入個判斷的意思?

06/12 00:57, 3年前 , 27F
或是每次要顯示的字串都在那個function裡重新宣告
06/12 00:57, 27F
嗯...請問這個是屬於Java的問題,還是要往Android那找問題呢?

06/12 00:57, 3年前 , 28F
不要把變數存成全域
06/12 00:57, 28F
了解 ※ 編輯: MAXQb (111.243.6.240 臺灣), 06/12/2020 02:19:27
文章代碼(AID): #1Utc0pgI (AndroidDev)
文章代碼(AID): #1Utc0pgI (AndroidDev)