解决方案 »

  1.   

    没用过,我一直用的baseAdaoter
      

  2.   

    以下代码没有任何问题public class Exam extends Activity{
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.query);
            //绑定XML中的ListView,作为Item的容器
            ListView list = (ListView) findViewById(R.id.listView1);
            
            //生成动态数组,并且转载数据
            ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
            for(int i=0;i<30;i++)
            {
             HashMap<String, String> map = new HashMap<String, String>();
             map.put("ItemTitle", "This is Title.....");
             map.put("ItemText", "This is text.....");
             mylist.add(map);
            }
            //生成适配器,数组===》ListItem
            SimpleAdapter mSchedule = new SimpleAdapter(this, //没什么解释
                                                 mylist,//数据来源 
                                                 R.layout.list,//ListItem的XML实现
                                                 
                                                 //动态数组与ListItem对应的子项        
                                                 new String[] {"ItemTitle", "ItemText"}, 
                                                 
                                                 //ListItem的XML文件里面的两个TextView ID
                                                 new int[] {R.id.textView1,R.id.textView2});
            //添加并且显示
            list.setAdapter(mSchedule);
        }
    }
    而下面这段代码,却会在点击按钮触发事件的地方报错,求大神解决,不胜感激!
    The constructor SimpleAdapter(new View.OnClickListener(){}, ArrayList<HashMap<String,String>>, int, String[], int[]) is undefined
    public class Exam extends Activity{
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.query);
            //绑定XML中的ListView,作为Item的容器
            final ListView list = (ListView) findViewById(R.id.listView1);
            Button button=(Button)findViewById(R.id.button1);
            //生成动态数组,并且转载数据
            final ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
            for(int i=0;i<30;i++)
            {
             HashMap<String, String> map = new HashMap<String, String>();
             map.put("ItemTitle", "This is Title.....");
             map.put("ItemText", "This is text.....");
             mylist.add(map);
            }
            
            button.setOnClickListener(new Button.OnClickListener() {

    @Override
    public void onClick(View v) {
    // TODO Auto-generated method stub
    //生成适配器,数组===》ListItem
            SimpleAdapter mSchedule = new SimpleAdapter(this,mylist,
             R.layout.list,//ListItem的XML实现
             //动态数组与ListItem对应的子项
             new String[] {"ItemTitle", "ItemText"},
             //ListItem的XML文件里面的两个TextView ID
             new int[] {R.id.textView1,R.id.textView2});
            //添加并且显示
            list.setAdapter(mSchedule);
    }
    });
            
        }
    }
      

  3.   

    好吧,犯了个低级的错误,原来问题出在new SimpleAdapter()中的第一个参数,放在按钮触发的事件中时,要用  类名.this,而不能简单的用 this,不管怎么说,谢谢大家了!SimpleAdapter adapter = new SimpleAdapter(this, list, R.layout.list,
                                new String[]{"ridgepole","roomNumber"},
                                new int[]{R.id.textView1,R.id.textView2});