Rob*_*uba 5 android listview android-layout android-resources
有没有办法获取视图膨胀的布局的资源ID(如R.layout.viewtoInflate)?
我正在尝试实现一个列表视图,它使用2个自定义布局列表项.使用哪个项目布局基于用于填充列表视图的对象中的字段.
我在自定义适配器中缺少的是一种了解我在getView()中获得的'convertView'被夸大的资源的方法.如果我能得到那些信息,我可以比较并确定我是否可以重新使用转换视图,或者我是否必须用当前项目的相应布局替换它.
理想情况下,它会是这样的:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
JSONObject currItem = mItems.getJSONObject(position);
int layoutType;
if (currItem.getBoolean("alternate"))
layoutType = R.layout.list_item_b;
else
layoutType = R.layout.list_item_a;
if (convertView == null || <convertView.resourceID> != layoutType ) {
convertView = inflater.inflate(layoutType, null);
//Finish setting up new View and its holder
}
else {
//Get view holder for view reuse
}
//populate view with the required content
return convertView;
}
Run Code Online (Sandbox Code Playgroud)
在最坏的情况下,我根本不能重复使用视图,只是每次都需要扩展我需要的布局,但这看起来非常浪费.
| 归档时间: |
|
| 查看次数: |
6841 次 |
| 最近记录: |