2013-03-21 5 views
1

У меня есть горизонтальный вид прокрутки с массивом списка изображений и текстовое поле под прокруткой, как я могу изменить текст при смене изображения в горизонтальном прокрутке.Изменить текст при изменении изображения в android

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

Здесь изображение будет только прокрутки, представление текста останется исправление, он будет изменить имя с изображениями только

я использовал код ниже для прокрутки изображения, она работает нормально, изображения меняются, но текст не меняется!

может кто-нибудь мне помочь !! @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

+1

Откуда вы получаете имя? – codeMagic

+0

@codeMagic имя строка из webservice – 2013-03-21 13:52:21

+0

@codeMagic есть ли возможность сделать так! – 2013-03-21 13:58:59

ответ

0

Я думаю, проблема в о вашем пути, чтобы получить соответствуют name.But у вас есть возможность (как ни странно!):

Вы можете объединить каждый изображение и его описание на другое изображение и только показать результат. Если вы хотите это сделать, вы можете использовать свой R.layout.screen или напрямую использовать холст и добавить свое изображение и желаемое описание к нему.

+0

@thanks для вашего ответа, предположим, у меня есть изображение с описанием, то как я могу связать друг с другом !! – 2013-03-21 14:17:26

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

+0

@thanks Позвольте мне попробовать – 2013-03-21 14:20:12

+0

Хорошо, дайте мне знать, как это работает. Я делал такие вещи раньше, и это сработало для меня. – codeMagic

+0

Не работает. – 2013-03-21 14:26:36

0

Ваш код предполагает, что вы устанавливаете текст только в том случае, если convertView имеет значение NULL. В общем случае представления адаптеров повторяются, поэтому обновление должно происходить, даже если новый вид не сформирован.

+0

это не имеет значения с convertView ... – 2013-03-21 15:43:48

+0

Можете ли вы разместить свой макет xml? что должно помочь выявить проблему. также в вашем коде вы найдете Holder.textview, но установите текст в Holder.text –