#android #view #onclick #android-intent
#Android #Вид #onclick #android-намерение
Вопрос:
Как мне получить строку из представления? Чтобы быть более конкретным, у меня есть 36 кнопок в tabview. Когда я нажимаю на кнопку, она вызывает
android:onClick="onClick"
из моего XML для вызова метода onClick(View v)
. Затем я хочу передать переменные через намерение другому действию на основе нажатой кнопки. Теперь я знаю, что мое представление о нажатой кнопке — ‘v’, что я хочу знать, так это как использовать это представление и превратить его в строку, которой я могу манипулировать.
Комментарии:
1. Вы хотите сказать, что хотите передать информацию о нажатой кнопке другому действию? Я не совсем понимаю, что вы подразумеваете под преобразованием представления в строку.
Ответ №1:
Ты это имеешь в виду? Это явное приведение класса, особенность языка Java.
public void onClick(View v)
{
Button button = (Button) v;
String info = button.getText();
Intent intent = new Intent();
.....
}
Комментарии:
1. Это было бы то, что я выбрал, но мои кнопки являются ImageButtons, поэтому мне пришлось использовать тег. Хотя спасибо за помощь!
Ответ №2:
В вашем xml-определении кнопки задайте для нее тег:
<Button
android:layout_width="wrap_content"
android:layout_height="40dip"
android:text="Btn 1"
android:tag="1"android:onClick="onClick"/>
И в onClick
функции:
public void onClick (просмотр v)
{
Button button = (Button) v;
String tag = button.getTag.toString();
//now open new Activity with this tag
Intent intent = new Itent();
Bundle b = new Bundle();
b.putString("tag", tag);
intent.putExtras(b);
startActivity(intent);
}
Комментарии:
1. Бум! Это то, чего я хотел! Спасибо!