此代码如何工作?

用户名

我已经从一个教程中编写了这段代码。

@Override
public View getView(int i, View view, ViewGroup viewGroup) {
    // TODO Auto-generated method stub
    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View row = inflater.inflate(R.layout.single_row, viewGroup,false);

    TextView title = (TextView) row.findViewById(R.id.txtTitle);
    TextView description = (TextView) row.findViewById(R.id.txtDescription);
    ImageView image = (ImageView) row.findViewById(R.id.imgPic);

    SingleRow temp = list.get(i);

    title.setText(temp.title);
    description.setText(temp.description);
    image.setImageResource(temp.image);


    return row;
}

在这行代码中:

TextView title = (TextView) row.findViewById(R.id.txtTitle);

我认为TextView被复制到相同类型的变量。然后在这行代码中:

title.setText(temp.title);

我们用一些东西填充那个变量。然后返回作为Vi​​ew且与'title'变量无关的行变量。
怎么运行的?我认为这些变量与此处无关。

卡米特埃尔

这段代码会膨胀一个新视图,并对其内容进行设置。这意味着您正在以编程方式创建新视图。它经常被使用,例如,在填充列表时,您将拥有许多行,每行的结构相同,但具有不同的值。

下面是它的工作原理:

@Override
public View getView(int i, View view, ViewGroup viewGroup) {
    // Get the inflater service
    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    // Inflate view with ID = R.layout.single_row into the row variable
    View row = inflater.inflate(R.layout.single_row, viewGroup,false);

    // Get child views of row: title, description and image.
    TextView title = (TextView) row.findViewById(R.id.txtTitle);
    TextView description = (TextView) row.findViewById(R.id.txtDescription);
    ImageView image = (ImageView) row.findViewById(R.id.imgPic);

    // This get's some template view which will provide data: title, description and image
    SingleRow temp = list.get(i);

    // Here you're setting title, description and image by using values from `temp`.
    title.setText(temp.title);
    description.setText(temp.description);
    image.setImageResource(temp.image);

    // Return the view with all values set. This view will be later probably added somewhere as a child (maybe into a list?)
    return row;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

此❤代码如何工作?

来自分类Dev

此OCaml代码如何工作?

来自分类Dev

此javascript代码如何工作?

来自分类Dev

如何使此代码正常工作?

来自分类Dev

此递归代码如何工作?

来自分类Dev

此R代码如何工作?

来自分类Dev

如何从Codepen获得此代码以正常工作?

来自分类Dev

此Objective-C代码如何工作?

来自分类Dev

动态救援条款,此代码如何工作?

来自分类Dev

如何使此代码在python 2中工作

来自分类Dev

此代码实际上是如何工作的?

来自分类Dev

此代码中的return如何工作?

来自分类Dev

PLSQL-此素数代码如何工作?

来自分类Dev

如何减少或注入此代码中的工作

来自分类Dev

此代码如何工作?(GDI,C#)

来自分类Dev

如何使用 Promise 使此代码正常工作?

来自分类Dev

如何修改此功能代码才能工作?

来自分类Dev

这段代码是如何工作的?我如何获得此输出?

来自分类Dev

清空调度异步队列-此代码如何工作?

来自分类Dev

从后缀数组获取LCP的此代码如何工作?

来自分类Dev

如何使此交换图像代码在Wordpress中工作

来自分类Dev

此表构建代码如何在JavaScript中工作

来自分类Dev

此递归二进制代码功能如何工作?

来自分类Dev

此代码块如何在JavaScript中工作?

来自分类Dev

指向没有变量的方法的指针,此代码如何工作?

来自分类Dev

使用按钮的动态数据,如何改进此工作代码

来自分类Dev

此MOVSB汇编语言代码如何工作?

来自分类Dev

如何传递参数以使此代码正常工作

来自分类Dev

如何使此代码不遍历所有工作表?