解决方案 »

  1.   

    这样试试:
    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);
             }
              
         };
         
    }