找不到在活动的方法的onClick(视图)找不到、视图、方法、onClick

2023-09-05 06:46:52 作者:小萌宝

单击按钮在充气布局在运行时失败,因为该方法不能被发现。 E / AndroidRuntime(921):java.lang.IllegalStateException:找不到在活动的方法的onClick(视图) 但是,如果点击来自主要布局按钮,做工不错。 我做了什么错?

更新:更改code ...还是老样子失败......添加错误日志 我想有我所有的按钮都在OME的方法进行处理。

主要活动类

 包com.android.insertview;


进口android.app.Activity;
进口android.content.Context;
进口android.os.Bundle;
进口android.view.Gravity;
进口android.view.LayoutInflater;
进口android.view.View;
进口android.view.View.OnClickListener;
进口android.view.ViewGroup;
进口android.widget.Toast;

公共类InsertViewActivity延伸活动{
    / **第一次创建活动时调用。 * /

    @覆盖
    公共无效的onCreate(包savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.main);

        / * LayoutInflater吹气=(LayoutInflater)getApplicationContext()getSystemService(Context.LAYOUT_INFLATER_SERVICE)。
        ViewGroup中父=(ViewGroup中)findViewById(R.id.main_view);
        inflater.inflate(R.layout.volume_control,父母); * /

        LayoutInflater VI =(LayoutInflater)getApplicationContext()getSystemService(Context.LAYOUT_INFLATER_SERVICE)。
        视图V = vi.inflate(R.layout.volume_control,NULL);
        查看在insertPoint = findViewById(R.id.main_view);
        ((ViewGroup中)在insertPoint).addView(V,新ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT
                                                                            ,ViewGroup.LayoutParams.WRAP_CONTENT));
    }


    公共无效btnclick(视图v){
        // TODO自动生成方法存根
        上下文的背景下= getApplicationContext();
        吐司面包= Toast.makeText(背景下,
            这是Toast通知,Toast.LENGTH_SHORT);
        toast.setGravity(Gravity.CENTER,0,0);
        toast.show();
    }
}
 

main.xml中

 < XML版本=1.0编码=UTF-8&GT?;
< LinearLayout中的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    机器人:layout_width =FILL_PARENT
    机器人:layout_height =FILL_PARENT
    机器人:方向=垂直机器人:ID =@ + ID / main_view>
< / LinearLayout中>
 

充气布局

 < XML版本=1.0编码=UTF-8&GT?;
< LinearLayout中的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    机器人:layout_width =WRAP_CONTENT
    机器人:layout_height =WRAP_CONTENT
    机器人:方向=垂直机器人:背景=@可绘制/ service_button_container_background
    机器人:ID =@ + ID / volume_view>

    <按钮
        机器人:ID =@ + ID / volume_up
        机器人:layout_width =WRAP_CONTENT
        机器人:layout_height =WRAP_CONTENT
        机器人:背景=@可绘制/ button_volume_up
        机器人:的onClick =btnclick/>

    <按钮
        机器人:ID =@ + ID /按钮2
        机器人:layout_width =WRAP_CONTENT
        机器人:layout_height =WRAP_CONTENT
        机器人:背景=@可绘制/ button_volume_mute_off
        机器人:的onClick =btnclick/>

    <按钮
        机器人:ID =@ + ID / volume_down
        机器人:layout_width =WRAP_CONTENT
        机器人:layout_height =WRAP_CONTENT
        机器人:背景=@可绘制/ button_volume_down
        机器人:的onClick =btnclick/>

< / LinearLayout中>
 
如何修改Mac文件默认打开方式

错误日志

  03-19 15:31:45.184:W / dalvikvm(1071):主题ID = 3:线程退出与未捕获的异常(组= 0x4001b188)
03-19 15:31:45.184:E / AndroidRuntime(1071):未捕获的处理程序:螺纹主力退出,由于未捕获的异常
03-19 15:31:45.194:E / AndroidRuntime(1071):java.lang.IllegalStateException:找不到方法genclick(查看)在活动
03-19 15:31:45.194:E / AndroidRuntime(1071):在android.view.View $ 1.onClick(View.java:2020)
03-19 15:31:45.194:E / AndroidRuntime(1071):在android.view.View.performClick(View.java:2364)
03-19 15:31:45.194:E / AndroidRuntime(1071):在android.view.View.onTouchEvent(View.java:4179)
03-19 15:31:45.194:E / AndroidRuntime(1071):在android.widget.TextView.onTouchEvent(TextView.java:6541)
03-19 15:31:45.194:E / AndroidRuntime(1071):在android.view.View.dispatchTouchEvent(View.java:3709)
03-19 15:31:45.194:E / AndroidRuntime(1071):在android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
03-19 15:31:45.194:E / AndroidRuntime(1071):在android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
03-19 15:31:45.194:E / AndroidRuntime(1071):在android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
03-19 15:31:45.194:E / AndroidRuntime(1071):在android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
03-19 15:31:45.194:E / AndroidRuntime(1071):在android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
03-19 15:31:45.194:E / AndroidRuntime(1071):在com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1659)
03-19 15:31:45.194:E / AndroidRuntime(1071):在com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107)
03-19 15:31:45.194:E / AndroidRuntime(1071):在android.app.Activity.dispatchTouchEvent(Activity.java:2061)
03-19 15:31:45.194:E / AndroidRuntime(1071):在com.android.internal.policy.impl.PhoneWindow $ DecorView.dispatchTouchEvent(PhoneWindow.java:1643)
03-19 15:31:45.194:E / AndroidRuntime(1071):在android.view.ViewRoot.handleMessage(ViewRoot.java:1691)
03-19 15:31:45.194:E / AndroidRuntime(1071):在android.os.Handler.dispatchMessage(Handler.java:99)
03-19 15:31:45.194:E / AndroidRuntime(1071):在android.os.Looper.loop(Looper.java:123)
03-19 15:31:45.194:E / AndroidRuntime(1071):在android.app.ActivityThread.main(ActivityThread.java:4363)
03-19 15:31:45.194:E / AndroidRuntime(1071):在java.lang.reflect.Method.invokeNative(本机方法)
03-19 15:31:45.194:E / AndroidRuntime(1071):在java.lang.reflect.Method.invoke(Method.java:521)
03-19 15:31:45.194:E / AndroidRuntime(1071):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:860)
03-19 15:31:45.194:E / AndroidRuntime(1071):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
03-19 15:31:45.194:E / AndroidRuntime(1071):在dalvik.system.NativeStart.main(本机方法)
03-19 15:31:45.194:E / AndroidRuntime(1071):java.lang.NoSuchMethodException:产生的原因genclick
03-19 15:31:45.194:E / AndroidRuntime(1071):在java.lang.ClassCache.findMethodByName(ClassCache.java:308)
03-19 15:31:45.194:E / AndroidRuntime(1071):在java.lang.Class.getMethod(Class.java:1014)
03-19 15:31:45.194:E / AndroidRuntime(1071):在android.view.View $ 1.onClick(View.java:2017)
03-19 15:31:45.194:E / AndroidRuntime(1071):22 ...更多
 

更新2:

好吧,如果我这样做,我就可以处理所有的按钮点击一个方法genericClick()

 < XML版本=1.0编码=UTF-8&GT?;
< RelativeLayout的的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    机器人:ID =@ + ID / front_end
    机器人:layout_width =FILL_PARENT
    机器人:layout_height =FILL_PARENT>

    &所述;! - 主 - >
    <的LinearLayout
        的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
        机器人:ID =@ + ID / main_view
        机器人:layout_width =WRAP_CONTENT
        机器人:layout_height =WRAP_CONTENT
        机器人:layout_alignParentBottom =真
        机器人:layout_centerHorizo​​ntal =真
        机器人:背景=@可绘制/ service_button_container_background>

        <的ImageButton
            机器人:ID =@ + ID /收音机
            机器人:layout_width =WRAP_CONTENT
            机器人:layout_height =WRAP_CONTENT
            机器人:背景=@可绘制/ button_radio
            机器人:可点击=真
            机器人:的onClick =genericClick/>

        <的ImageButton
            机器人:ID =@ + ID /播放器
            机器人:layout_width =WRAP_CONTENT
            机器人:layout_height =WRAP_CONTENT
            机器人:背景=@可绘制/ button_player
            机器人:的onClick =genericClick/>

        <的ImageButton
            机器人:ID =@ + ID / NAVI
            机器人:layout_width =WRAP_CONTENT
            机器人:layout_height =WRAP_CONTENT
            机器人:背景=@可绘制/ button_navigation
            机器人:的onClick =genericClick/>
    < / LinearLayout中>

    <! - 音量控制 - >
    <的LinearLayout
        的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
        机器人:ID =@ + ID / volume_controls
        机器人:layout_width =WRAP_CONTENT
        机器人:layout_height =WRAP_CONTENT
        机器人:layout_alignParentLeft =真
        机器人:layout_centerVertical =真
        机器人:背景=@可绘制/ service_button_container_background
        机器人:方向=垂直>

        <的ImageButton
            机器人:ID =@ + ID / volume_up
            机器人:layout_width =WRAP_CONTENT
            机器人:layout_height =WRAP_CONTENT
            机器人:背景=@可绘制/ button_volume_up
            机器人:的onClick =genericClick/>

        <的ImageButton
            机器人:ID =@ + ID / volume_mute
            机器人:layout_width =WRAP_CONTENT
            机器人:layout_height =WRAP_CONTENT
            机器人:背景=@可绘制/ button_volume_mute_off
            机器人:的onClick =genericClick/>

        <的ImageButton
            机器人:ID =@ + ID / volume_down
            机器人:layout_width =WRAP_CONTENT
            机器人:layout_height =WRAP_CONTENT
            机器人:背景=@可绘制/ button_volume_down
            机器人:的onClick =genericClick/>
    < / LinearLayout中>

    <! - 无线电控制 - >
    <的LinearLayout
        的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
        机器人:ID =@ + ID / radio_controls
        机器人:layout_width =WRAP_CONTENT
        机器人:layout_height =WRAP_CONTENT
        机器人:layout_alignParentTop =真
        机器人:layout_alignRight =@ + ID / main_view
        机器人:layout_marginRight =100dp
        机器人:背景=@可绘制/ service_button_container_background
        机器人:能见度=隐形>

        <的ImageButton
            机器人:ID =@ + ID / radio_ preSET
            机器人:layout_width =WRAP_CONTENT
            机器人:layout_height =WRAP_CONTENT
            机器人:的onClick =genericClick机器人:背景=@可绘制/ button_menu/>

        <的ImageButton
            机器人:ID =@ + ID /按钮2
            机器人:layout_width =WRAP_CONTENT
            机器人:layout_height =WRAP_CONTENT
            机器人:背景=@可绘制/ button_rewind
            机器人:的onClick =genericClick/>

        <的ImageButton
            机器人:ID =@ + ID /按钮3
            机器人:layout_width =WRAP_CONTENT
            机器人:layout_height =WRAP_CONTENT
            机器人:背景=@可绘制/ button_play
            机器人:的onClick =genericClick/>

        <的ImageButton
            机器人:ID =@ + ID /将Button4
            机器人:layout_width =WRAP_CONTENT
            机器人:layout_height =WRAP_CONTENT
            机器人:背景=@可绘制/ button_forward
            机器人:的onClick =genericClick/>
    < / LinearLayout中>

    <! - 无线信息 - >
    <的LinearLayout
        的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
        机器人:ID =@ + ID / radio_info
        机器人:layout_width =WRAP_CONTENT
        机器人:layout_height =WRAP_CONTENT
        机器人:layout_alignBottom =@ + ID / radio_controls
        机器人:layout_alignLeft =@ + ID / main_view
        机器人:layout_marginLeft =100dp
        机器人:背景=@可绘制/ service_button_container_background
        机器人:方向=垂直
        机器人:能见度=隐形>

        <的LinearLayout
            的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
            机器人:layout_width =WRAP_CONTENT
            机器人:layout_height =WRAP_CONTENT>

            <的TextView
                机器人:layout_width =WRAP_CONTENT
                机器人:layout_height =WRAP_CONTENT
                机器人:文本=FM
                机器人:TEXTSIZE =18.0px/>

            <的TextView
                机器人:ID =@ + ID / preSET
                机器人:layout_width =WRAP_CONTENT
                机器人:layout_height =WRAP_CONTENT
                机器人:文本=1
                机器人:文字颜色=#ffd6d6d6
                机器人:TEXTSIZE =18.0px/>

            <的TextView
                机器人:layout_width =10.0dip
                机器人:layout_height =WRAP_CONTENT
                机器人:文本=
                机器人:TEXTSIZE =18.0px/>

            <的TextView
                机器人:ID =@ + ID /频率
                机器人:layout_width =WRAP_CONTENT
                机器人:layout_height =WRAP_CONTENT
                机器人:文本=108.0
                机器人:文字颜色=#ffd6d6d6
                机器人:TEXTSIZE =18.0px/>
        < / LinearLayout中>

        <的LinearLayout
            的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
            机器人:layout_width =WRAP_CONTENT
            机器人:layout_height =WRAP_CONTENT>

            <的TextView
                机器人:ID =@ + ID /标题
                机器人:layout_width =195.0dip
                机器人:layout_height =24.0dip
                机器人:文本=Русскоерадио
                机器人:文字颜色=#ffd6d6d6
                机器人:TEXTSIZE =18.0px/>
        < / LinearLayout中>
    < / LinearLayout中>
< / RelativeLayout的>
 

解决方案

删除 @覆盖注释。退房的官方文档为的安卓的onClick 的 - 在他们的情况下,在selfDestruct(查看)处理方法。

更新:作为其他人则建议,你不应该使用这样的通用命名为您的事件处理程序方法 - 的onClick太普通了。如果你有10个按钮? 尝试像onClickLoginButton,onClickSaveBtn等。 我认为你不能使用的onClick作为名称为您的偶数处理方法,因为View.OnClickListener有的onClick的方法,所以你需要反正更改名称。

 <按钮
    机器人:ID =@ + ID / volume_up
    机器人:layout_width =WRAP_CONTENT
    机器人:layout_height =WRAP_CONTENT
    机器人:背景=@可绘制/ button_volume_up
    机器人:的onClick =handleVolumeUp/>
 

而在你的Activity类

 公共无效handleVolumeUp(查看视图){
    // TODO自动生成方法存根
}
 

删除OnClickListener的实施,使你的类的定义就变成了:

 公共类InsertViewActivity扩展活动
 

UPDATE2: 如果你希望所有按钮1点击监听器来处理做这样的事情:

  @覆盖
公共无效的onCreate(包savedInstanceState)
{
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.main);

    按钮BTN1 =(按钮)findViewById(R.id.btn1);
    btn1.setOnClickListener(btnListener);
    按钮BTN2 =(按钮)findViewById(R.id.btn2);
    btn2.setOnClickListener(btnListener);
    按钮btn3 =(按钮)findViewById(R.id.btn3);
    btn3.setOnClickListener(btnListener);
}

私人OnClickListener btnListener =新OnClickListener()
{

    公共无效的onClick(视图v)
    {
      //做同样的东西,或者使用开关/箱,并得到每个按钮的ID和做不同

      //东西取决于ID
    }

};
 

The button click in inflate layout fails at runtime because the method cannot be found. E/AndroidRuntime(921): java.lang.IllegalStateException: Could not find a method onClick(View) in the activity but, if click on button from main layout, work good. What have I done wrong?

UPDATE: change code... stil fail ... add error log I want to have all of my buttons were processed in ome method.

main activity class

package com.android.insertview;


import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Toast;

public class InsertViewActivity extends Activity {
    /** Called when the activity is first created. */

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        /*LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        ViewGroup parent = (ViewGroup)findViewById(R.id.main_view);
        inflater.inflate(R.layout.volume_control, parent);*/

        LayoutInflater vi = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);        
        View v = vi.inflate(R.layout.volume_control, null);    
        View insertPoint = findViewById(R.id.main_view);
        ((ViewGroup) insertPoint).addView(v, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT
                                                                            , ViewGroup.LayoutParams.WRAP_CONTENT));
    }


    public void btnclick(View v) {
        // TODO Auto-generated method stub
        Context context = getApplicationContext();
        Toast toast = Toast.makeText(context, 
            "This is Toast Notification", Toast.LENGTH_SHORT);
        toast.setGravity(Gravity.CENTER, 0, 0);
        toast.show();       
    }
}

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" android:id="@+id/main_view">
</LinearLayout>

inflating layout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" android:background="@drawable/service_button_container_background" 
    android:id="@+id/volume_view"> 

    <Button
        android:id="@+id/volume_up"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/button_volume_up" 
        android:onClick="btnclick" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/button_volume_mute_off" 
        android:onClick="btnclick"/>

    <Button
        android:id="@+id/volume_down"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/button_volume_down" 
        android:onClick="btnclick"/>

</LinearLayout>

error log

03-19 15:31:45.184: W/dalvikvm(1071): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
03-19 15:31:45.184: E/AndroidRuntime(1071): Uncaught handler: thread main exiting due to uncaught exception
03-19 15:31:45.194: E/AndroidRuntime(1071): java.lang.IllegalStateException: Could not find a method genclick(View) in the activity
03-19 15:31:45.194: E/AndroidRuntime(1071):     at android.view.View$1.onClick(View.java:2020)
03-19 15:31:45.194: E/AndroidRuntime(1071):     at android.view.View.performClick(View.java:2364)
03-19 15:31:45.194: E/AndroidRuntime(1071):     at android.view.View.onTouchEvent(View.java:4179)
03-19 15:31:45.194: E/AndroidRuntime(1071):     at android.widget.TextView.onTouchEvent(TextView.java:6541)
03-19 15:31:45.194: E/AndroidRuntime(1071):     at android.view.View.dispatchTouchEvent(View.java:3709)
03-19 15:31:45.194: E/AndroidRuntime(1071):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
03-19 15:31:45.194: E/AndroidRuntime(1071):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
03-19 15:31:45.194: E/AndroidRuntime(1071):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
03-19 15:31:45.194: E/AndroidRuntime(1071):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
03-19 15:31:45.194: E/AndroidRuntime(1071):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
03-19 15:31:45.194: E/AndroidRuntime(1071):     at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1659)
03-19 15:31:45.194: E/AndroidRuntime(1071):     at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107)
03-19 15:31:45.194: E/AndroidRuntime(1071):     at android.app.Activity.dispatchTouchEvent(Activity.java:2061)
03-19 15:31:45.194: E/AndroidRuntime(1071):     at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1643)
03-19 15:31:45.194: E/AndroidRuntime(1071):     at android.view.ViewRoot.handleMessage(ViewRoot.java:1691)
03-19 15:31:45.194: E/AndroidRuntime(1071):     at android.os.Handler.dispatchMessage(Handler.java:99)
03-19 15:31:45.194: E/AndroidRuntime(1071):     at android.os.Looper.loop(Looper.java:123)
03-19 15:31:45.194: E/AndroidRuntime(1071):     at android.app.ActivityThread.main(ActivityThread.java:4363)
03-19 15:31:45.194: E/AndroidRuntime(1071):     at java.lang.reflect.Method.invokeNative(Native Method)
03-19 15:31:45.194: E/AndroidRuntime(1071):     at java.lang.reflect.Method.invoke(Method.java:521)
03-19 15:31:45.194: E/AndroidRuntime(1071):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
03-19 15:31:45.194: E/AndroidRuntime(1071):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
03-19 15:31:45.194: E/AndroidRuntime(1071):     at dalvik.system.NativeStart.main(Native Method)
03-19 15:31:45.194: E/AndroidRuntime(1071): Caused by: java.lang.NoSuchMethodException: genclick
03-19 15:31:45.194: E/AndroidRuntime(1071):     at java.lang.ClassCache.findMethodByName(ClassCache.java:308)
03-19 15:31:45.194: E/AndroidRuntime(1071):     at java.lang.Class.getMethod(Class.java:1014)
03-19 15:31:45.194: E/AndroidRuntime(1071):     at android.view.View$1.onClick(View.java:2017)
03-19 15:31:45.194: E/AndroidRuntime(1071):     ... 22 more

UPDATE 2:

ok, if i do so, i can handled all buttons click in one method genericClick()

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/front_end"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <!-- Main -->
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/main_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:background="@drawable/service_button_container_background" >

        <ImageButton
            android:id="@+id/radio"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/button_radio"
            android:clickable="true"
            android:onClick="genericClick" />

        <ImageButton
            android:id="@+id/player"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/button_player"
            android:onClick="genericClick" />

        <ImageButton
            android:id="@+id/navi"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/button_navigation"
            android:onClick="genericClick" />
    </LinearLayout>

    <!-- Volume controls -->
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/volume_controls"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:background="@drawable/service_button_container_background"
        android:orientation="vertical" >

        <ImageButton
            android:id="@+id/volume_up"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/button_volume_up"
            android:onClick="genericClick" />

        <ImageButton
            android:id="@+id/volume_mute"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/button_volume_mute_off"
            android:onClick="genericClick" />

        <ImageButton
            android:id="@+id/volume_down"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/button_volume_down"
            android:onClick="genericClick" />
    </LinearLayout>

    <!-- Radio controls -->
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/radio_controls"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_alignRight="@+id/main_view"
        android:layout_marginRight="100dp"
        android:background="@drawable/service_button_container_background"
        android:visibility="invisible" >

        <ImageButton
            android:id="@+id/radio_preset"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="genericClick" android:background="@drawable/button_menu"/>

        <ImageButton
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/button_rewind"
            android:onClick="genericClick" />

        <ImageButton
            android:id="@+id/button3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/button_play"
            android:onClick="genericClick" />

        <ImageButton
            android:id="@+id/button4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/button_forward"
            android:onClick="genericClick" />
    </LinearLayout>

    <!-- Radio Info -->
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/radio_info"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/radio_controls"
        android:layout_alignLeft="@+id/main_view"
        android:layout_marginLeft="100dp"
        android:background="@drawable/service_button_container_background"
        android:orientation="vertical" 
        android:visibility="invisible">

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="FM"
                android:textSize="18.0px" />

            <TextView
                android:id="@+id/preset"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="1"
                android:textColor="#ffd6d6d6"
                android:textSize="18.0px" />

            <TextView
                android:layout_width="10.0dip"
                android:layout_height="wrap_content"
                android:text=" "
                android:textSize="18.0px" />

            <TextView
                android:id="@+id/frequency"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="108.0"
                android:textColor="#ffd6d6d6"
                android:textSize="18.0px" />
        </LinearLayout>

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/title"
                android:layout_width="195.0dip"
                android:layout_height="24.0dip"
                android:text="Русское радио"
                android:textColor="#ffd6d6d6"
                android:textSize="18.0px" />
        </LinearLayout>
    </LinearLayout>
</RelativeLayout>

解决方案

Remove the @Override annotation. Check out the official documentation for android:onClick - in their case the "selfDestruct(View)" handler method.

Update: as the others suggested, you should not use such a generic naming for your event-handler method - "onClick" is too generic. What if you have 10 buttons? Try something like "onClickLoginButton", "onClickSaveBtn" etc. I think you cannot use "onClick" as name for your even-handler method, because View.OnClickListener has "onClick" method, so you need to change the name anyways.

<Button
    android:id="@+id/volume_up"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/button_volume_up" 
    android:onClick="handleVolumeUp" />

And in your Activity class

public void handleVolumeUp(View view) {
    // TODO Auto-generated method stub    
}

Remove the implementation of OnClickListener so that the definition of your class becomes:

public class InsertViewActivity extends Activity

UPDATE2: If you want all buttons to be handled by 1 click listener do something like that:

@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Button btn1 = (Button)findViewById(R.id.btn1);
    btn1.setOnClickListener(btnListener);
    Button btn2 = (Button)findViewById(R.id.btn2);
    btn2.setOnClickListener(btnListener);
    Button btn3 = (Button)findViewById(R.id.btn3);
    btn3.setOnClickListener(btnListener);
}

private OnClickListener btnListener = new OnClickListener()
{

    public void onClick(View v)
    {   
      //do the same stuff or use switch/case and get each button ID and do different   

      //stuff depending on the ID
    } 

};