2017-01-18 7 views
0

У меня есть простое небольшое приложение, которое создает новый волшебный символ одним нажатием кнопки.Передача информации о просмотре методу

У меня есть это в моем XML-файле. Я использую кнопку для создания нового представления для профиля мастера (с помощью метода AddWizardView), и я использую элемент android: tag для отправки имени мастера.

Но мне также нужно отправить изображение мастера, находящегося в ImageView, тоже ... есть ли способ получить эту информацию при нажатии кнопки и отправке ее методу AddWizardView?

<ImageView 
    android:id="@+id/wizard1_icon" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginRight="4dp" 
    android:src="@drawable/wizard1_one" /> 

<TextView android:id="@+id/wizard1" 
    android:layout_weight="1" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:text="@string/wizard1_name" 
    android:hint="@string/wizard1_name" /> 

<Button 
    android:id="@+id/btnAddWizard" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/button_Add" 
    android:tag="@string/wizard1_name" 
    android:onClick="AddWizardView" /> 
+1

Не можете ли вы получить изображение из идентификатора ImageView? – rupinderjeet

+1

Плохая практика передать растровое изображение/изображение другим классам. Попробуйте передать путь изображения к классам и загрузить его. – Hitesh

+0

@Hitesh, что имеет смысл ... как вы проходите путь изображения? спасибо – SkyeBoniwell

ответ

1

Вы можете добавить несколько меток, определить идентификатор для каждого тега в strings.xml как

<item type="id" name="wizard1_name"/> 
<item type="id" name="wizard1_image"/> 

и в Java вы можете установить тег, как

btnAddWizard.setTag(R.id.wizard1_name,R.string.wizard1_name); btnAddWizard.setTag(R.id.wizard1_image,R.drawable.wizard1_one);

и вы можете получить теги, подобные

Object wizardName = btnAddWizard.getTag(R.id.wizard1_name); 
Object wizardImage = btnAddWizard.getTag(R.id.wizard1_image); 

вам нужно лить объект в соответствии с вашим типом