標籤:
listview簡單描述
首頁面:
package com.example.listview;import com.lidroid.xutils.ViewUtils;import com.lidroid.xutils.view.annotation.ViewInject;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ListView;import android.widget.TextView;public class MainActivity extends Activity { private ListView lv; private MyAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.lv); adapter = new MyAdapter(); lv.setAdapter(adapter); } private class MyAdapter extends BaseAdapter { /** * listview的條目總數 */ public int getCount() { return 30; } /** * 每個item的內容 */ public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; // 進行convertView條目的複用 if (convertView != null) {// 如果convertView不存在,進行填充 holder = (ViewHolder) convertView.getTag();// 對相同類型的item類型進行複用 } else {// 如果convertView存在,進行複用 convertView = View.inflate(MainActivity.this, R.layout.item_list, null); holder = new ViewHolder(convertView); convertView.setTag(holder); } holder.tv.setText("條目" + position);//設定item裡面的具體內容 return convertView; } public Object getItem(int position) { return null; } public long getItemId(int position) { return 0; } } /** * 每個item裡面的控制項,抽取成一個類,可以節省時間,最佳化的一方面 * * @author JYcainiao * */ private class ViewHolder { @ViewInject(R.id.tv_item)//註解出item中的控制項 private TextView tv; public ViewHolder(View view) { ViewUtils.inject(this, view);//註解必須用到 this代表當前的item,view用來註解 } }}
首頁面的activity
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <ListView android:fastScrollEnabled="true" android:id="@+id/lv" android:layout_width="wrap_content" android:layout_height="wrap_content" /></RelativeLayout>
用來填充liseview的item
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/tv_item" android:layout_width="wrap_content" android:layout_height="wrap_content" /></LinearLayout>
安卓基礎----ListView基礎應用