Android: Возвращает строку из представления?

#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. Бум! Это то, чего я хотел! Спасибо!