这样试试: public class TestListView extends Activity { Button btnlist; static ArrayList<HashMap<String, Object>> listItem = new ArrayList<HashMap<String, Object>>(); static SimpleAdapter listItemAdapter; Handler handler; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //绑定Layout里面的ListView ListView list = (ListView) findViewById(R.id.ListView01); btnlist = (Button) findViewById(R.id.button1);
handler = new Handler(){ @Override public void handleMessage(Message msg) { if (msg.what ==1) { listItemAdapter.notifyDataSetChanged(); } } };
btnlist.setOnClickListener(new OnClickListener(){
@Override public void onClick(View v) { // TODO Auto-generated method stub for(int i=0;i<10;i++) { HashMap<String, Object> map = new HashMap<String, Object>(); map.put("ItemImage", R.drawable.checked);//图像资源的ID map.put("ItemTitle", "Level "+i); map.put("ItemText", "Finished in 1 Min 54 Secs, 70 Moves! "); listItem.add(map); new listMessageUpdate().start();
}
}
});
//生成动态数组,加入数据
//生成适配器的Item和动态数组对应的元素 listItemAdapter = new SimpleAdapter(this,listItem,//数据源 R.layout.list_items,//ListItem的XML实现 //动态数组与ImageItem对应的子项 new String[] {"ItemImage","ItemTitle", "ItemText"}, //ImageItem的XML文件里面的一个ImageView,两个TextView ID new int[] {R.id.ItemImage,R.id.ItemTitle,R.id.ItemText} );
public class TestListView extends Activity {
Button btnlist;
static ArrayList<HashMap<String, Object>> listItem = new ArrayList<HashMap<String, Object>>();
static SimpleAdapter listItemAdapter;
Handler handler;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//绑定Layout里面的ListView
ListView list = (ListView) findViewById(R.id.ListView01);
btnlist = (Button) findViewById(R.id.button1);
handler = new Handler(){
@Override
public void handleMessage(Message msg) {
if (msg.what ==1) {
listItemAdapter.notifyDataSetChanged();
}
}
};
btnlist.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
for(int i=0;i<10;i++)
{
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("ItemImage", R.drawable.checked);//图像资源的ID
map.put("ItemTitle", "Level "+i);
map.put("ItemText", "Finished in 1 Min 54 Secs, 70 Moves! ");
listItem.add(map);
new listMessageUpdate().start();
}
}
});
//生成动态数组,加入数据
//生成适配器的Item和动态数组对应的元素
listItemAdapter = new SimpleAdapter(this,listItem,//数据源
R.layout.list_items,//ListItem的XML实现
//动态数组与ImageItem对应的子项
new String[] {"ItemImage","ItemTitle", "ItemText"},
//ImageItem的XML文件里面的一个ImageView,两个TextView ID
new int[] {R.id.ItemImage,R.id.ItemTitle,R.id.ItemText}
);
//添加并且显示
list.setAdapter(listItemAdapter);
}
static Thread listMessageUpdate =new Thread(){
@Override
public void run() {
Message msg = new Message();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
msg.what =1;
handler.sendMessage(msg);
}
};
}