gpt4 book ai didi

android - CustomArrayAdapter 实现 :Unable to get the resource id

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:26:14 25 4
gpt4 key购买 nike

我想实现 CustomArrayAdapter,下面是我为自定义适配器编写的构造函数

public CustomUsersAdapter(Context context, ArrayList<User> users) {
super(context, 0, users);
}

super 调用中的第二个参数包含在实例化 View 时使用的 TextView 的布局文件的资源 ID。我不知道这里指的是哪个资源 ID。任何人都可以详细解释这里引用的是哪个资源 ID。

我重写的 getView 方法如下:-

 @Override
public View getView(int position, View convertView, ViewGroup parent) {
// Get the data item for this position
User user = getItem(position);
// Check if an existing view is being reused, otherwise inflate the view
if (convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.item_user, parent, false);
}
// Lookup view for data population
TextView tvName = (TextView) convertView.findViewById(R.id.tvName);
TextView tvHome = (TextView) convertView.findViewById(R.id.tvHometown);
// Populate the data into the template view using the data object
tvName.setText(user.name);
tvHome.setText(user.hometown);
// Return the completed view to render on screen
return convertView;
}

最佳答案

 I dont know which resource ID is being referred here.

由于您将 0 放在构造函数的第二个参数中,因此它不会引用任何布局

作为documentation是说:

 resource   The resource ID for a layout file containing a layout to use when instantiating views.

现在,如果您将现有布局放入构造函数,那么该布局将用于实例化您的 listViewItems View ,但您需要覆盖 getView 方法以启用您可以设计哪些文本在布局中的位置。

如果您打算放置一个现有的布局,那么请在其上使用另一个构造函数:

public ArrayAdapter (Context context, int resource, T[] objects)

但对于设计而言,我不会真正向构造函数添加任何资源布局,而是直接膨胀您的getView 方法中的 View 并返回该 View 。

关于android - CustomArrayAdapter 实现 :Unable to get the resource id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25375831/

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