ListView之getView易错点

来源:互联网 发布:c语言用户标识符 编辑:程序博客网 时间:2024/05/21 02:51

直接上代码:

package com.antest;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.LayoutInflater;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 List<String> list;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);list = new ArrayList<String>();for (int i = 0; i < 100; i++) {list.add(i + "");}ListView list = (ListView) findViewById(R.id.list);list.setAdapter(adapter);}BaseAdapter adapter = new BaseAdapter() {@Overridepublic int getCount() {return 100;}@Overridepublic Object getItem(int position) {return position;}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {Holder holder;if (convertView == null) {holder = new Holder();convertView = LayoutInflater.from(getApplicationContext()).inflate(R.layout.list_item, null);holder.tv = (TextView) convertView.findViewById(R.id.tv);convertView.setTag(holder);Log.i("lk", position + "");} else {holder = (Holder) convertView.getTag();}holder.tv.setText(getItem(position).toString());return convertView;}};class Holder {TextView tv;}}

手机屏幕显示:


输出:

05-13 16:28:18.563: I/lk(21641): 0
05-13 16:28:18.563: I/lk(21641): 1
05-13 16:28:18.563: I/lk(21641): 2
05-13 16:28:18.563: I/lk(21641): 3
05-13 16:28:18.563: I/lk(21641): 4
05-13 16:28:18.563: I/lk(21641): 5
05-13 16:28:18.573: I/lk(21641): 6
05-13 16:28:18.573: I/lk(21641): 7
05-13 16:28:18.573: I/lk(21641): 8
05-13 16:28:18.573: I/lk(21641): 9
05-13 16:28:18.573: I/lk(21641): 10
05-13 16:28:18.573: I/lk(21641): 11
05-13 16:28:18.573: I/lk(21641): 12
05-13 16:28:18.573: I/lk(21641): 13
05-13 16:28:18.573: I/lk(21641): 14
05-13 16:28:18.573: I/lk(21641): 15
05-13 16:28:18.573: I/lk(21641): 16
05-13 16:28:18.573: I/lk(21641): 17
05-13 16:28:18.583: I/lk(21641): 18
05-13 16:28:18.583: I/lk(21641): 19
05-13 16:28:18.583: I/lk(21641): 20
05-13 16:28:18.583: I/lk(21641): 21
05-13 16:28:18.583: I/lk(21641): 22
05-13 16:28:18.583: I/lk(21641): 23

不管怎么上下滑动屏幕,输出结果不变!


0 0