2013-02-20 4 views
1

У меня есть список, определенный макетом list_item_new.xml, в котором у меня есть imageView и 2 textViews. ImageView определяется следующим образом:изменение образа изображения динамически

<ImageView 
     android:id="@+id/listimage" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 

     android:gravity="center" 

     android:src="@drawable/users2" 
    /> 

Я использую тот же ListView на 3 разных экранах. Теперь я хочу, чтобы изображение на этом изображении было различным для всех трех экранов. Я пытаюсь изменить к изображению как это

LayoutInflater inflater = (LayoutInflater) this.getSystemService 
      (Context.LAYOUT_INFLATER_SERVICE); 
     LinearLayout ll = (LinearLayout) inflater.inflate(R.layout.list_item_new, null); 
     listimg=(ImageView)ll.findViewById(R.id.listimage); 
     listimg.setImageResource(R.drawable.office); 

office.png - изображение в drawable.

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

благодаря

+0

установили его в методе GetView() .. .? – Pragnani

+0

Нет, я не знаю об этом. PLZ объяснить. –

+0

Имеете ли вы дело со списком или используете его ... пожалуйста, подтвердите его ... – Pragnani

ответ

1

видеть этот класс

public class Adapter extends SimpleAdapter{ 

public Adapter(Context context, List<? extends Map<String, String>> data, 
     int resource, String[] from, int[] to) { 
    super(context, data, resource, from, to); 

} 
@Override 
public View getView(int position, View convertView, ViewGroup parent){ 
View row = convertView; 
if (row == null) { 
    LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    row ll = inflater.inflate(R.layout.list_item_new, null); 
    listimg=(ImageView)ll.findViewById(R.id.listimage); 
    listimg.setImageResource(R.drawable.office); 

    textView=(TextView)ll.findViewById(R.id.<textViewID>); 
    textView.setText("Hello"); 
} 

return row; 
} 

} 
+0

Я делаю то же самое на этот раз. теперь изображение меняется, но теперь я не получаю данные в текстовых комментариях. Мне нужно сделать то же самое для textviews также в getView? –

+0

см., Что я отредактировал ответ, две строки для текстового просмотра, которые вы можете повторить для другого текстового представления или для любого другого. –

Смежные вопросы