有人能告诉我在类convertView
的getView()
方法中使用了什么参数Adapter
?
下面是一个示例代码采取从这里:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.row, null);
}
Order o = items.get(position);
if (o != null) {
TextView tt = (TextView) v.findViewById(R.id.toptext);
TextView bt = (TextView) v.findViewById(R.id.bottomtext);
if (tt != null) {
tt.setText("Name: "+o.getOrderName()); }
if(bt != null){
bt.setText("Status: "+ o.getOrderStatus());
}
}
return v;
}
Run Code Online (Sandbox Code Playgroud)
我们应该通过convertView
什么?
我发现了什么,从这里开始:
获取一个视图,显示数据集中指定位置的数据.您可以手动创建View,也可以从XML布局文件中对其进行充气.当View膨胀,除非你使用膨胀(INT,android.view.ViewGroup,布尔值)指定根视图,并防止附着到根父视图(GridView控件,ListView控件...)将应用默认的布局参数.
参数
position - 项目在我们想要的视图的项目的适配器数据集中的位置.
convertView - 如果可能,重用旧视图.注意:在使用之前,应检查此视图是否为非null且类型是否合适.如果无法转换此视图以显示正确的数据,则此方法可以创建新视图.
parent - 此视图最终将附加到"返回"的父级
返回 - 与指定位置的数据对应的视图.
Mac*_*rse 38
你不应该自己调用这种方法.
Android ListView
使用an Adapter
填充自己Views
.当ListView
显示时,它开始调用getView()
以填充自身.当用户滚动一个新视图应创建,所以对于性能ListView
发送Adapter
一个老观点,即它不应用于任何更多convertView
PARAM.