现在的位置: 首页 > 综合 > 正文

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

2018年01月11日 ⁄ 综合 ⁄ 共 960字 ⁄ 字号 评论关闭
在本例子中就算 刷新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;
}
}

抱歉!评论已关闭.