在android中更改图像时更改文本

在android中更改图像时更改文本,android,android-view,Android,Android View,我有一个带有图像数组列表的水平滚动视图和滚动视图下方的文本字段,如何在水平滚动视图中更改图像时更改文本 For Example: The image will show Mountain the text will also texted with mountain 在这里,图像将仅滚动,文本视图将保持固定,它将仅使用图像更改名称 我已经使用下面的代码来滚动图像,它工作正常,图像正在更改,但是文本视图没有更改 谁能帮帮我@提前谢谢 public View getView(int positi

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

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.

我猜问题在于你们如何得到相应的名字。但你们有一个选择,但这很奇怪!:

您可以将每个图像及其说明合并到另一个图像中,并仅显示结果。如果要执行此操作,可以使用R.layout.screen或直接使用画布,将图像和所需说明添加到其中

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);

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

从何处获取名称?@codeMagic name是string fromwebservice@codeMagic有没有可能这样做!!当然可以,但名字必须改变。我会把它们放在一个与图像数组对应的ArrayList中。除非我不明白你的意思have@codeMagic非常感谢。文本数组与images@thanks对于您的回答,假设我有描述的图像,那么我如何与彼此联系!!好的,让我知道结果如何。我以前做过类似的事情,这对我来说很有效,过去也有过。如果你做了一些类似于你做ImageID ImageID[position]的事情,但在视图项中,我选择了不同的布局,对于listview,我不知道你在说什么,但为什么你不能像对待图像ID那样做呢?您只需获得与ID相同的位置,我可以使用imagesCan获取您发布布局xml的位置吗?这将有助于确定问题所在。同样,在代码中可以找到Holder.textview,但将text设置为Holder.text
else
        {
            Holder = (ViewHolder) vi.getTag();
        }