Re: [問題] AlertDialog裡加入有Checkbox的Listview
請參考
http://www.eoeandroid.com/thread-152037-1-1.html
http://pianovv510.blogspot.tw/2013/04/android-checkbox-dialog-box.html
http://karrysu.blogspot.tw/2011/07/dialog-android.html
※ 引述《whow (somebody)》之銘言:
: 如標題
: 我想在要我的MainActivity中按下一個按鈕跳出AlertDialog
: 讓使用者有一個List可以選擇自己想要的選項
: 並且有checkbox可以複選 等到按下確認鍵後再把這些選項存起來
: 看起來應該是要自己寫一個Adapter
: 但是我試了好久 老是在listview.setAdapter(adapter)出錯
: //listview是我ListView物件 adapter是我自己寫的Adapter
: 因為我把這行註解起來後程式是可以執行的@@
: 我的想法是:
: MyAdapter adapter = new MyAdapter(String[] items, MainActivity.this);
: 先宣告一個自己寫的adapter
: MyAdapter的Constructor:
: MyAdapter(String[] name, Context context){
: /*
: 把給定的項目存到一個list裏
: initialize checkbox的狀態
: */
: inflater = LayoutInflater.from(context);
: }
: 而getview則是這樣:
: public View getView(int position, View convertView, ViewGroup parent) {
: View view=null;
: ViewHolder holder = null;
: if (map.get(position) == null) {
: //map是一個用來存位置和view的HashMap
: view = inflater.inflate(R.layout.item, null);
: holder = new ViewHolder();
: holder.selected = (CheckBox)view.findViewById(R.id.item_cb);
: holder.name = (TextView)view.findViewById(R.id.item_tv);
: final int p = position;
: map.put(position, view);
: holder.selected.setOnClickListener(new View.OnClickListener() {
: @Override
: public void onClick(View v) {
: CheckBox cb = (CheckBox)v;
: mChecked.set(p, cb.isChecked());
: //mChecked為項目是否被選取的list
: }
: });
: view.setTag(holder);
: }else{
: view = map.get(position);
: holder = (ViewHolder)view.getTag();
: }
: holder.selected.setChecked(mChecked.get(position));
: holder.name.setText(list.get(position));
: return view;
: }
: 在MainActivity中有這幾行:
: ListView lv = (ListView)findViewById(R.id.list);
: adapter = new MyAdapter(items, MainActivity.this);
: lv.setAdapter(adapter);
: new AlertDialog.Builder(Gps_test.this)
: .setTitle("CheckBoxtest")
: .setView(lv)
: .setPositiveButton(...){...}
: .setNegativeButton(...){...}
: .show();
: 標記起來的地方是我覺得可能有錯的地方
: 已經卡一兩天了 煩請各位幫忙@@
: 這段code是從網路上找到的 有自己修改一點
: 如果有哪裡描述不夠清楚我會再補上!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.35.172.112
推
08/20 13:37, , 1F
08/20 13:37, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):