更改android中更改图像的文本

时间:2013-03-21 13:49:18

标签: android android-view

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

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.

enter image description here

3 个答案:

答案 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时设置文本。通常,适配器视图会重新循环,因此即使没有形成新视图,也应该进行更新。