`
hkp2008
  • 浏览: 111207 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

Activity 中动态刷新LisView

阅读更多

功能点击变换数据按钮后,ListView自动更新

 

   

 

 

public class UpdateListTestActivity extends Activity  {
	
	private ListView lv;
	private Button btn;
	
	ArrayAdapter<String> aAdapter;
	ArrayList<String> arr = new ArrayList<String>();
	
	static boolean count = true;
	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        //绑定控件
        btn = (Button) findViewById(R.id.btn);
        lv = (ListView) findViewById(R.id.lv);
        
        //初始化Adapter
        arr = getData(count);
        aAdapter = new ArrayAdapter<String>(this, 
        		android.R.layout.simple_spinner_item, arr);
        lv.setAdapter(aAdapter);
        
        //点击按钮后更新数据
        btn.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				count = !count;
				//启动一个 handler来动态更新
				Handler handler = new Handler();
				handler.post(run);
			}
		});
    }
    
    
    Runnable run = new Runnable() {

		@Override
		public void run() {
			// TODO Auto-generated method stub
			arr.clear();
			List<String> temp = getData(count);
			for (int i = 0; i < temp.size(); i++)
				arr.add(temp.get(i));
			aAdapter.notifyDataSetChanged();
		}
	};

	/**
	 * 获取列表项的数据
	 * 
	 * @return
	 */
	private ArrayList<String> getData(boolean is) {
		// TODO Auto-generated method stub
		
		ArrayList<String> arr = new ArrayList<String>();
		
		
		if(is){
			arr.add("1");
			arr.add("2");
			arr.add("3");
			arr.add("4");
		}else{
			arr.add("A");
			arr.add("B");
			arr.add("C");
			arr.add("D");
		}
		
		return arr;
	}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics