Настройка ClickListener из макета - PullRequest
0 голосов
/ 25 января 2011

Возникли проблемы с настройкой ClickListener из макета

Внутри моего макета:

<ImageButton 
    android:id="@+id/VimeoButton" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:src="@drawable/vimeo_icon"
    android:onClick="OpenVimeo"
>

А в основном классе (занятии):

public void OpenVimeo(View v)
    {

        Intent myIntent;
        Log.i(tag,"Inside");
        myIntent=new Intent (AndroidRSS.this,Video.class);
        startActivity(myIntent);
    }

Но, похоже, не обрабатывает события щелчка.

Ответы [ 3 ]

2 голосов
/ 25 января 2011

Когда мы даем onClick внутри макета, нет необходимости указывать регистр переключателя внутри вашего

public void OpenVimeo(View v) 

Метод OpenVimeo предоставляется внутри onClick для ImageButton.Таким образом, только при нажатии кнопки ImageButton будет работать код внутри метода.

А что касается решения ...

Вместо этой кнопки ImageButton, если вы дадите ей обычную кнопку, она будет работать.Вместо

android:src=""

укажите android:background="" для кнопки.

Если вы все еще хотите использовать ImageButton, добавьте android:clickable="true" к тегу ImageButton и посмотрите.Я думаю, что это может сработать.Пожалуйста, попробуйте и просто ответьте, если это сработало.

0 голосов
/ 25 января 2011

ваш код верен, но вы можете забыть добавить активность в android.manifeast

добавьте активность в android.manifeast

0 голосов
/ 25 января 2011

Я думаю, вы забыли про переключатель ... Публичная пустота OpenVimeo (View v) { //первый switch (v) { case VimeoButton:

    Intent myIntent;
    Log.i(tag,"Inside");
    myIntent=new Intent (AndroidRSS.this,Video.class);
    startActivity(myIntent);
  }

// еще один случай .. }

...