Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android listview

Android listview

編輯:關於Android編程

	list = (ListView) findViewById(R.id.all_teacher_list);

		// 生成動態數組,加入數據
		ArrayList> listItem = new ArrayList>();
		for (int i = 0; i < 20; i++) {
			HashMap map = new HashMap();
			// map.put(ItemImage, R.drawable.checked);//圖像資源的ID
			map.put(teachername, 幼兒園按照時間可以分為宿制幼兒園);
			map.put(teacherdetail, 這是一片關於幼兒知識的文章,特點是簡單易讀,很實用);
			map.put(image, R.drawable.blue);
			listItem.add(map);
		}
		// 生成適配器的Item和動態數組對應的元素
		SimpleAdapter listItemAdapter = new SimpleAdapter(this, listItem,// 數據源
				R.layout.all_child_edu_item,// ListItem的XML實現
				// 動態數組與ImageItem對應的子項
				new String[] { teachername, teacherdetail, image },
				// ImageItem的XML文件裡面的一個ImageView,兩個TextView ID
				new int[] { R.id.all_child_edu_name, R.id.all_child_edu_detail,
						R.id.all_child_edu_image });

		// 添加並且顯示
		list.setAdapter(listItemAdapter);

如果需要將網絡或文件中的圖片放到listview中,需要先將圖片轉換為bitmap格式,然後重寫setViewBinder()方法

 

annolistItemAdapter.setViewBinder(new ViewBinder() {
			public boolean setViewValue(View view, Object data,
					String textRepresentation) {
				// 判斷是否為我們要處理的對象
				if (view instanceof ImageView && data instanceof Bitmap) {
					ImageView iv = (ImageView) view;
					iv.setImageBitmap((Bitmap) data);
					return true;
				} else
					return false;
			}
		});

為每個item增加監聽事件

 

 

list.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView arg0, View arg1, int arg2,
					long arg3) {
				// TODO Auto-generated method stub
				//點擊第arg2個item的監聽事件

			}
		});

 

 

增加下拉刷新,通過判斷第last個是否為最後一個(即count個),進行刷新。

 

list.setOnScrollListener(new OnScrollListener() {

			@Override
			public void onScrollStateChanged(AbsListView view, int scrollState) {
				// TODO Auto-generated method stub
				if (last == count
						&& scrollState == this.SCROLL_STATE_IDLE) {
					updatevideo();
					// Toast.makeText(AllSchoolNewsActivity.this, 下拉刷新,
					// Toast.LENGTH_LONG).show();

				}
			}

			@Override
			public void onScroll(AbsListView view, int firstVisibleItem,
					int visibleItemCount, int totalItemCount) {
				// TODO Auto-generated method stub
				last = firstVisibleItem + visibleItemCount; // 減1是因為上面加了個addFooterView
			}
		});



 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved