2013-06-21 5 views
0

Я пытаюсь найти ImageView по тегу. Я назначаю тег для ImageView, но когда я пытаюсь findViewWithTag, он возвращает null. Я прочитал, что я должен добавить к представлению childer с addChilder, но в представлении этой функции нет. Может ли кто-нибудь объяснить мне, как я могу это сделать?Android set Tag, findViewWithTag

ImageView principal = (ImageView) findViewById(R.id.imagen_home_0); 
    principal.setTag("principal"); 

в другом классе (AsyncTask), что я прохожу контекст

 View noMiembros = new View(context); 

     ImageView er = (ImageView) noMiembros.findViewWithTag("principal"); 
     er.setImageBitmap(result); 

ответ

3

Передает активность в AsyncTask и просто использовать:

ImageView principal = (ImageView) passedActivity.findViewById(R.id.imagen_home_0); 

или получить Inflater из контекста, как это:

LayoutInflater inflater = LayoutInflater.from(context); 
View row = inflater.inflate(R.layout.your_viw_that_contains_that_image, parent, false); 

ImageView principal = (ImageView) row.findViewById(R.id.imagen_home_0); 

//or by tag 
principal = (ImageView) row.findViewWithTag("principal"); 

С наилучшими пожеланиями.

0

Я считаю, что вы ... спутать эти две метки.

может прикреплять ЛЮБОЙ объект к представлению, в то время как тег XML является только строкой - я считаю, что findViewByTag попытается сопоставить тег, переданный через XML, а не один прикрепленный через код - как это может быть любой объект.

Почему бы просто не пройти principal imageView для asyncthread?

+0

Это неверно. Подпись метода является общедоступной. View findViewWithTag (тег объекта). –

+1

Проблема noMiembros - это недавно созданный вид, который не содержит ImageView и не может содержать его, поскольку он не является VIewGroup –

3

Вы звоните findViewWithTag по телефону noMiembros , который является новым видом.

Вам необходимо позвонить findViewWithTag на родителя ImageView , к которому вы пытаетесь связаться.

Но если вы хотите получить свой ImageView изнутри AsyncTask, просто позвоните findViewById(R.id.imagen_home_0) о вашей деятельности.

+0

. Это правильный ответ –