看板 AndroidDev 關於我們 聯絡資訊
各位,晚安 小弟想在onMenuItemSelected的某個按鈕加入AlertDialog 而這個AlertDialog內容為SDcard某個資料夾下的清單 並且用setMultiChoiceItems實現 一開始有試過簡單的顏色選擇範例 final CharSequence[] items = {"Red", "Green", "Blue"}; AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("Pick colors") .setMultiChoiceItems(items, null, new DialogInterface.OnMultiChoiceClickListener() { public void onClick(DialogInterface dialogInterface, int which, boolean b) { } }); 到此一切正常~ AlertDialog 跳得出來也能夠選擇紅綠藍 現在想要將Items 換成 FileName卻一直顯示不出來 這個APP會直接跳回桌面 小弟只是將下列程式碼增加在上面提到的程式碼前面 ArrayList<String> mFileName = new ArrayList<String>(); File file = new File(Path); File[] files = file.listFiles(); for(File mCurrentFile:files){ mFileName.add(mCurrentFile.getName()); } // 這邊做個轉換 CharSequence[] items = mFileName.toArray(new CharSequence[mFileName.size()]); 以上~ 不曉得各位有沒有類似的經驗 另外... 想請問一下Menu內可以使用for loop嗎? 只要因為只要把上面的for loop註解起來 程式便可執行~ 只是跳出來的Dialog沒有內容 XDDD 先感謝各位先進指點了 感恩 <(_"_)> -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.43.72.116 ※ 文章網址: http://www.ptt.cc/bbs/AndroidDev/M.1408112480.A.698.html
jknm0510a: error log是?mFileName的type是list嗎? 08/16 01:59
jknm0510a: 你的mFileName有new一個空間來使用嗎 08/16 02:00
jk大您好~ 抱歉現在才回覆您 有new一個ArrayList ArrayList<String> mFileName = new ArrayList<String>(); //(已補充至文內)
jknm0510a: for loop註記就沒錯有可能是file是null,你可能要看一 08/17 22:39
jknm0510a: 下error的錯誤訊息,或在for前加if(file == null)印出 08/17 22:40
jknm0510a: 訊息看看,如果有印出來就是你的file是null 08/17 22:41
呵呵~ 用jk大的方法果然找到問題所在。 結果是因為接上電腦SD卡使用權被電腦拿走了 (結果是這笨原因也讓人太害羞>///<) 感謝jk大傾囊相授 感謝 ※ 編輯: drdsmile (114.43.67.42), 08/18/2014 01:02:28