gpt4 book ai didi

java - baseadapter类的getview方法是如何调用的

转载 作者:行者123 更新时间:2023-11-30 03:16:23 24 4
gpt4 key购买 nike

我正在调用扩展 BaseAdapter 类的 CustomAdapter 类并从其他类调用,但是 CustomAdaptergetView 方法如何> 类将被调用?我无法理解...请帮帮我..

public class CustomAdapter extends BaseAdapter {
Context mContext;
public String[] sText = { "this", "that", "yellow" };
public String bText = "hello";
public Integer[] images = { R.drawable.s_1, R.drawable.s_2, R.drawable.s_3, };

public CustomAdapter(Context context) {
super();
this.mContext = context;
}

@Override
public int getCount() {
// TODO Auto-generated method stub
return sText.length;
}

@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}

@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return sText.length;
}

@SuppressLint("NewApi")
@Override
public View getView(int position, View convertView, ViewGroup parent) {

// TODO Auto-generated method stub

LayoutInflater inflater = ((Activity) mContext).getLayoutInflater();
View customRow = inflater.inflate(R.layout.lview, null);
ImageView image = (ImageView) customRow.findViewById(R.id.imageView1);
TextView smalltext = (TextView) customRow.findViewById(R.id.textView1);
TextView bigtext = (TextView) customRow.findViewById(R.id.textView2);
image.setImageResource(images[position]);
image.setAdjustViewBounds(true);
image.setMaxHeight(50);
smalltext.setText(sText[position]);
bigtext.setText(bText);
return customRow;
}

}

最佳答案

如何调用 CustomAdapter 类的 getView 方法?

这是一个有复杂答案的简单问题。您实际上并没有直接调用此方法,但 Android ListView(或 AdapterView 的任何实现)会为您调用它。当列表项 View 准备显示或即将显示时,将调用此方法。也许正确的答案是将您指向 ListView , AbsListViewAdapterView源代码,但我相信您没有足够的时间来查看和理解该代码。

所以我会给你的答案是从著名的 GoogleIO 演示开始,The world of ListView .这解释了 ListView 的工作原理、它如何回收其 View 、最佳实践和反模式。

观看该演示文稿后,您会发现 getView 必须尽快结束,否则 ListView 会出现锯齿状并且用户体验会很差。因此,您可以实现 ViewHolder 模式并重用 getView 中的第二个参数。

关于java - baseadapter类的getview方法是如何调用的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20041476/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com