1

我有一个水平滚动视图,其中包含图像数组列表和滚动视图下方的文本字段,我如何在水平滚动视图中更改图像时更改文本。

For Example: The image will show Mountain the text will also texted with mountain

这里图像只会滚动,文本视图将保持固定,它只会用图像更改名称

我已经使用下面的代码滚动图像,它工作正常,图像正在改变但文本视图没有改变!

任何人都可以帮助我!@提前致谢

 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.

在此处输入图像描述

4

3 回答 3

0

您的代码建议您仅在 convertView 为空时设置文本。通常适配器视图会被重新循环,因此即使没有形成新视图,也应该进行更新。

于 2013-03-21T14:45:10.047 回答
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);

我认为这样的事情应该有效

看起来您正在使用 aViewHolder所以您应该添加到您的if语句中

else
        {
            Holder = (ViewHolder) vi.getTag();
        }

重复使用您的Views

于 2013-03-21T14:19:26.200 回答
0

我想问题在于您获取对应名称的方式。但是您有一个选择(但这很奇怪!):

您可以将每个图像及其描述合并到另一个图像并仅显示结果。如果您想这样做,您可以使用您的R.layout.screen或直接使用画布并将您的图像和所需的描述添加到其中。

于 2013-03-21T14:13:16.237 回答