2011年10月26日 星期三

Dialog 中的 ListView 只顯示文字長度

在Dialog中, 使用ListView, 乖乖, 選項只有半截, 或者說, 只有文字的長度, 選擇時, 也只能選擇文字所在的區域, 選擇後面的空白就變成無效的選擇, 如下圖:
怎麼會這樣, 一直都是好好的呀, 只好一行一行去試, 結果發現, 是 FEATURE_NO_TITLE,
只要設定這個選項時, 就會有這個錯誤, 如下例:
Dialog dlg = new Dialog(this);
dlg.requestWindowFeature(Window.FEATURE_NO_TITLE);

ArrayList<HashMap<String,Object>> laHelp=new ArrayList<HashMap<String,Object>>();
HashMap<String,Object> map=new HashMap<String,Object>();
map.put(HelpDialog.ICON_KEY, R.drawable.task_cancelled);
map.put(HelpDialog.TEXT_KEY, "test");
laHelp.add(map);
ListView lvw=new ListView(this);
lvw.setAdapter(new SimpleAdapter(this,laHelp, R.layout.help_item,
            new String[] {HelpDialog.ICON_KEY, HelpDialog.TEXT_KEY}, new int[] {R.id.HelpItemImage, R.id.HelpItemText} ));
dlg.setContentView(lvw);
dlg.show();
關鍵就在紅字那一行, 如果刪除, 就正常了, 但是多了抬頭, 怎麼辦呢? 我的方向就是不用SimpleAdapter, 改寫自己的 Adapter, 就正常了.

沒有留言:

張貼留言