相关疑难解决方法(0)

在创建自己的自定义适配器时,getView()方法如何工作?

我的问题是:

  1. LayoutInflater的功能究竟是什么?
  2. 为什么我读过的所有文章都会检查convertview是否为null?当它为空时它意味着什么?它不是什么意思?
  3. 此方法接受的父参数是什么?

android android-arrayadapter layout-inflater android-view

100
推荐指数
4
解决办法
11万
查看次数

ArrayAdapter getView()方法中的"convertView"参数是什么

有人能告诉我在类convertViewgetView()方法中使用了什么参数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什么?

我发现了什么, …

java android

38
推荐指数
1
解决办法
3万
查看次数

我如何选择convertview重用?

上下文
我希望有一个列表,列表项有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卡住了,当滚动列表时我需要继续创建新视图,这是我想要防止的.

android listview adapter android-adapter

1
推荐指数
1
解决办法
806
查看次数