以下代码没有任何问题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); }
@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); } });
} }
好吧,犯了个低级的错误,原来问题出在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});
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);
}
});
}
}
new String[]{"ridgepole","roomNumber"},
new int[]{R.id.textView1,R.id.textView2});