Mic*_*cki 1 android listview adapter android-adapter
上下文
我希望有一个列表,列表项有3个明显不同的布局,所以我根据要显示的项类型创建适配器创建适当的视图.
例如,我想列出一些图像,文本和数字,每个都有一些标题.我知道,
public View getView(int position, View convertView, ViewGroup parent)
在convertView看台上重用不再可见listItems中的观点.
问题
如何选择convertView或如何控制我在那里得到的东西?
问题来自不同的listItems视图,假设我的列表以图像listItem开头,然后是很多文本listItems和number listItems和100 listItems后来出现第二个图像.我假设在向下滚动列表时,(在getView(...)调用中)第一个convertView不为null的是带图像的那个,因为我需要一个视图来显示文本listItem或数字listItem我不能使用它.然后我想在每次下一次getView(...)调用时convertView都是与之前调用相同的图像listItem,因为我之前没有使用它.
未使用的文本listItems和number listItems卡住了,当滚动列表时我需要继续创建新视图,这是我想要防止的.
试试这个,
@Override
public View getView(final int position, View convertview, ViewGroup parent) {
// TODO Auto-generated method stub
final ViewHolder mHolder;
if (convertview == null) {
convertview = mInflater.inflate(R.layout.list_item, null);
mHolder = new ViewHolder();
mHolder.username_Txt = (TextView) convertview
.findViewById(R.id.username_Txt);
convertview.setTag(mHolder);
} else {
mHolder = (ViewHolder) convertview.getTag();
}
try {
mHolder.username_Txt.setText("your value");
} catch (Exception e) {
// TODO: handle exception
}
return convertview;
}
private class ViewHolder {
private TextView username_Txt;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
806 次 |
| 最近记录: |