Intereting Posts
Как перейти к определенному виду с помощью ViewFlipper? Как очистить / удалить базу данных greenDao Как сделать мой ImageView фиксированным, независимо от размера растрового изображения Как прокрутить таблицу в горизонтальном и вертикальном направлениях в андроиде Как открыть другое действие по элементу recyclerView onclick Как Intent может быть null в onHandleIntent ()? Есть ли простой способ конвертировать приложения для Apple в приложения для Android? Как создать «скрытое» приложение Android? Проблемы с камерой и фотографией для Android с Samsung Galaxy S3, S4, S5 Ошибка выполнения теста: невозможно найти информацию о контроле для: ComponentInfo {} – ошибка, пытающаяся протестировать в IntelliJ с Gradle Unsatisfiedlinkerror с обновлением Android 5.0.1 WebView OverScroll VideoView – MediaController не отображается Android: как отправить интерфейс из одной активности в другую Несколько вопросов о курсах базы данных SQLite в Android

Возможность добавлять параметры в кнопку xml?

В настоящее время у меня есть активность с некоторыми кнопками.

В моем xml кнопки определяются следующим образом:

<ImageButton (...) android:onClick="GoToPageX"/> 

И у меня в моей деятельности:

 public void GotoPageX() { startActivity(new Intent(this, PageX.class)); finish(); } 

Проблема в том, что у меня есть сотни кнопок и вы не хотите писать

 <ImageButton (...) android:onClick="GoToPage1"/> <ImageButton (...) android:onClick="GoToPage2"/> <ImageButton (...) android:onClick="GoToPage3"/> ... <ImageButton (...) android:onClick="GoToPage100"/> 

И все скрипты.

Я сейчас использую

 public void GotoPage( int i) { startActivity(new Intent(getBaseContext(), activities.get(i))); finish(); } 

И хотел бы дать параметр i из xml, возможно ли это?

Большое спасибо за любую помощь.

Solutions Collecting From Web of "Возможность добавлять параметры в кнопку xml?"

Это невозможно. Однако, возможно, вы можете использовать android:tag чтобы получить свой параметр.

 <ImageButton (...) android:onClick="goToPage" android:tag="25"/> public void goToPage(View v) { String pageNumber = v.getTag().toString(); /* ... */ } 

Если вы создадите элемент макета в xml, вы можете использовать его

 <ImageButton android:id="@+id/some_id_value" /> 

Где some_id_value – это разновидность уникальной строки, которая будет переведена на id, который хранится в R.java (лучше для вас – ничего там не меняйте), чем в коде, вы можете получить этот идентификатор, используя

 R.id.some_id_value 

Немного почитайте, что это действительно основа.

Вы можете установить теги для представления. Теги – это в основном способ просмотра воспоминаний.

XML:

 <ImageButton ...Other Parameters... android:id="@+id/Button2" android:tag="2" android:onClick="GoToPageX"/> <ImageButton ...Other Parameters... android:id="@+id/Button3" android:tag="3" android:onClick="GoToPageX"/> 

Строка android:tag="2" устанавливает значение тега 2 (строковый тип данных) в Button2

Файл Java:

Общий случай:
Внутри функции GoToPageX(View v) используйте v.getTag() чтобы получить значение тега соответствующего представления (из которого когда-либо просматривался метод был вызван).

Ваш случай:
Добавьте метод следующим образом

 public void GoToPageX(View v){ int i = Integer.parseInt(v.getTag()); //parseInt converts string to integer startActivity(new Intent(getBaseContext(), activities.get(i))); finish(); }