0

从 Layout 设置 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);
    }

但似乎不处理点击事件。

4

3 回答 3

2

当我们在布局中提供 onClick 时,无需在您的内部提供 switch case

public void OpenVimeo(View v) 

OpenVimeo 方法在 ImageButton 的 onClick 中给出。因此,只有在单击 ImageButton 时,方法内的代码才会起作用。

关于解决方案...

如果您将其作为普通按钮提供,而不是此 ImageButton,它将起作用。代替

android:src=""

android:background=""按钮。

如果您仍想使用 ImageButton,请添加android:clickable="true"到您的 ImageButton 标签并查看。我认为它可能会奏效。请尝试一下,如果有效,请回复。

于 2011-01-25T11:09:23.407 回答
0

您的代码是正确的,但可能是您忘记在 android.manifeast 中添加活动

所以将活动添加到 android.manifeast

于 2011-01-25T06:52:40.903 回答
-3

我想你忘记了 switch... public void OpenVimeo(View v) { //first switch(v) { case VimeoButton:

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

//另一种情况.. }

于 2011-01-25T05:09:46.693 回答