adapter的 getView 獲取ListView的Position位置的ItemView

在本例子中就算 刷新listview也不會造成獲取的item的View異常

其實這裏面只用自己更改下getItem的返回值就可以了 
這個玩意不難 
只是部分方法屬性可能大家不熟悉 在這裏直接上源碼了:
public class Badapter extends BaseAdapter{
 private ListView mListview;
private Context context;
 @Override
 public Badapter(Context mcontext,ListView Listview) {
context=mcontext;this.mListview=Listview;
}
static List<String> mArrayS=new ArrayList<String>();
static{
for (int i = 0; i < 100; i++) {
mArrayS.add(i+" "+" "+i);
}
}
public int getCount() {
// Log.e("debug", "-----getCount");
return mArrayS.size();
}
public Object getItem(int position) {
// Log.e("debug", "-----getItem");
return this.getView(position, null, mListview);
//最重要的地方 在activity中直接調用 Badapter 的 getItem(position)就可以了獲取的就是ConvertView
}
public long getItemId(int position) {
//Log.e("debug", "-----getItemId");
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
//TextView tv=new TextView(context);
Log.e("debug", "-----getView ---->convertView==null+Posotion: "+position);
tv.setText(mArrayS.get(position));
convertView=tv ;
return convertView;
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章