本人写个小型记事本程序,做到删除记事本功能时,遇到一个问题,因为新建的记事本数量未知,只能动态创建checkbox,然后勾选来执行删除。但如何将动态创建的checkbox实例化好得到来编写它的监听事件?

解决方案 »

  1.   

    我是用SimpleAdapter的方法动态添加checkbox的,是先写一个含有checkbox的xml文件,然后把该xml文件当参数来添加的,代码如下:
    SimpleAdapter adapter = new SimpleAdapter(this, 
             getData(), R.layout.deletecb,
             new String[]{"name"}, new int[]{R.id.deletecb});
    setListAdapter(adapter);
    private List<Map<String, Object>> getData(){
         List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
        
         Map<String, Object> map = new HashMap<String, Object>();
         map.put("name", "t1.txt");
         list.add(map);
        
         map = new HashMap<String, Object>();
         map.put("name", "t2.txt");
         list.add(map);
        
         return list;
        }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    //添加删除按钮
    menu.add(0, menu_delete, 1, R.string.delete).setIcon(android.R.drawable.ic_menu_delete);
    return true;
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
    if(item.getItemId()== menu_delete){
    createDialog();
    }
    return super.onOptionsItemSelected(item);
    }
    deleltecb.xml:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
        <CheckBox
         android:id = "@+id/deletecb"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         ></CheckBox>
    </LinearLayout>
    请问这样该在哪里动态添加?
      

  2.   

    先要定义个追加事件,比如定义个按钮,在事件响应里,定义个CheckBox,然后添加到你定义的List中