本帖最后由 ztwz 于 2011-01-16 12:32:14 编辑

解决方案 »

  1.   

    -_-b
    偶太菜了,偶搜索了一下BaseAdapter的类用法,学着写了一个继承BaseAdapter的,连布局都没加载出来。
    呃,不论哪种方法都没成功,楼上的可否写个deom给我学习一下,我要的效果就是ListView中点击CheckBox进入他的单击事件!
      

  2.   

    解决问题,在Item的Click事件中添加CheckBox的Click监听事件
    代码如下package ztwz.test;import java.util.ArrayList;
    import java.util.HashMap; 
    import android.app.Activity; 
    import android.graphics.Color;
    import android.os.Bundle; 
    import android.view.ContextMenu;
    import android.view.LayoutInflater;
    import android.view.MenuItem;
    import android.view.View; 
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.CompoundButton;
    import android.view.ContextMenu.ContextMenuInfo;
    import android.view.View.OnCreateContextMenuListener;
    import android.widget.*;
    import android.widget.AdapterView.OnItemClickListener;
    import android.widget.CompoundButton.OnCheckedChangeListener;public class testActivity extends Activity {
        /** Called when the activity is first created. */ private MyAdapter myAdapter;


        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
           
            
            ArrayList<HashMap<String,Object>> listitem=new ArrayList<HashMap<String,Object>>();
            myAdapter=new MyAdapter();
            CheckBox chb=(CheckBox)findViewById(R.id.chb);
            ListView mylistview =(ListView) findViewById(R.id.MyListView);        
            
            HashMap<String,Object> map =new HashMap<String,Object>();
            map.put("Title", "自动横屏");
            map.put("ItemText", "自动感应重力横竖屏");
            listitem.add(map);
            
            SimpleAdapter listitemAdapter = new SimpleAdapter(this,
             listitem,
             R.layout.mylistviewstyle,
             new String[]{"Title","ItemText"},
             new int [] {R.id.topTextView,R.id.bottomTextView}
            );
            
            
            mylistview.setAdapter(listitemAdapter);
         
            //mylistview单击监听
            mylistview.setOnItemClickListener(new OnItemClickListener() {
            
         public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
        long arg3) { 
        
         CheckBox chb=(CheckBox)findViewById(R.id.chb);
        
                 chb.setOnCheckedChangeListener(new CheckBox.OnCheckedChangeListener(){
                 @Override
         public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
                      if(isChecked)
                   {
                   Toast.makeText(testActivity.this, "重力感应自动横屏开启",1000).show(); 
                   }
                   else
                   {
                   Toast.makeText(testActivity.this, "重力感应自动横屏关闭",1000).show(); 
                   }
                
         }  
                }); 
        
     
        
         }
               });
                }
    }