Как создать виджет с множеством кнопок? - PullRequest
0 голосов
/ 21 ноября 2011

Это, вероятно, глупый вопрос, но я действительно хочу знать, если это правильный путь.

У меня есть виджет приложения с несколькими Buttons.Я создал ожидающий Intent для каждого из этих Buttons, и я установил его, используя

setOnClickPendingIntent()

Мой вопрос прост.У меня уже есть 9 Buttons, и я могу расширить его в будущем.Так нормально ли иметь девять отдельных ожидающих Intents?

Большинство Buttons выполняют одинаковую работу, но отличаются определенным дополнительным полем, прикрепленным к Intent.Так что есть предложение?потому что код выглядит действительно грязным с большим количеством ожидающих Intents.

1 Ответ

0 голосов
/ 21 ноября 2011

Одной из идей может быть использование «тега», связанного с каждым элементом управления.

http://developer.android.com/reference/android/view/View.html#setTag(int, java.lang.Object)

Позволяет добавить пользовательское значение(вы определяете содержание и формат) для каждой кнопки.

При создании кнопки добавьте ключ к своим кнопкам:

button1.setTag((Object) "action1");
button2.setTag((Object) "action2");

Определите только одно ожидающее намерение, которое вы связываете скаждая кнопка.

В ожидаемом намерении получить «тег» представления и действовать соответственно

if (((String) view.getTag()).equals("action1"))
    etc...
...