我试图在布局中设置图像资源/可绘制。但是,当我设置图像时,输出中没有显示图像,也没有看到错误。
View rootView = inflater.inflate(R.layout.fragment_card_layout, container, false);
LayoutInflater layoutInflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
cardView = layoutInflater.inflate(R.layout.recent_conversions_list, null);
ListView listView = (ListView) rootView.findViewById(android.R.id.list);
...
ImageView imageView = (ImageView) cardView.findViewById(R.id.unit_icon_ring);
imageView.setImageResource(R.drawable.ic_angle_icon);
...
return rootView;
值得指出的是,我正在设置图像资源的ImageView不包含在片段中使用的主要布局中。 R.layout.fragment_card_layout将R.layout.recent_conversions_list设置为listitem。
答案 0 :(得分:0)
使用静态资源文件“R”包含对布局规范的引用,而不是对象。将R.layout.recent_conversions_list设置为listview的容器是不够的 - 它将构建它自己的副本。
您需要创建一个ArrayAdapater并为其中的每个项目设置图像:
在你的情况下,ArrayAdapter应该包含这样的部分:
ImageView imageView = (ImageView) convertView.findViewById(R.id.unit_icon_ring);
imageView.setImageResource(R.drawable.ic_angle_icon);
或者如果您使用ViewHolder模型,那么您的ViewHolder对象应该使用viewHolder.setImage(R.drawable.ic_angle_icon)类型方法设置一些ImageView变量。