我有一个水平滚动视图,其中包含图像的数组列表和滚动视图下方的文本字段,如何更改水平滚动视图中更改图像的文本。
For Example: The image will show Mountain the text will also texted with mountain
此处图片仅会滚动,文字视图会保持不变,只会更改图片名称
我使用下面的代码滚动图片,工作正常,图片正在改变,但textview没有改变!!
可以有人帮助我!! @Thanks提前 public View getView(int position, View convertView, ViewGroup parent) {
vi=convertView;
if(convertView==null){
vi = LayoutInflater.from(parent.getContext()).inflate(R.layout.screen, null);
position_pin = position;
Holder.images=(ImageView) vi.findViewById(R.id.image);
Holder.textview=(TextView) vi.findViewById(R.id.name);
Holder.images.setImageResource(imageIds[position]);
Holder.text.setText(name);
vi.setTag(Holder);
}
return vi;
}
If you have any better option or code then help me.
答案 0 :(得分:0)
我想问题就在于你获得相应名称的方式。但是你有一个选择(但是很奇怪!):
您可以将每个图像及其描述合并到另一个图像,并仅显示结果。如果您想这样做,您可以使用R.layout.screen
或直接使用画布并将图像和所需描述添加到其中
答案 1 :(得分:0)
Arraylist<String> nameList = new ArrayList<String>();
// add your names the same way you add your images to your images array
...
name = nameList.get(position);
textView.setText(name);
我认为这样的事情应该有用
看起来您使用的是ViewHolder
,因此您应该添加到if
声明中
else
{
Holder = (ViewHolder) vi.getTag();
}
重复使用Views
答案 2 :(得分:0)
您的代码建议您仅在convertView为null时设置文本。通常,适配器视图会重新循环,因此即使没有形成新视图,也应该进行更新。