Android:自定义类中的按钮onClick描述

时间:2014-04-30 09:10:08

标签: android

我的按钮

<Button
        android:id="@+id/Btn_Scr1_to_Scr2"
        android:text="Text" 
        android:onClick="Go_to_Scr2"/>

我的方法

public void Go_to_Scr2(View v){
        Intent intent = new Intent(this, MainMenuActivity.class);
          startActivity(intent);            
    }

如果我在主要活动类中使用它:

public class MainScreenActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_screen);

    }
    public void Go_to_Scr2(View v){
        Intent intent = new Intent(this, MainMenuActivity.class);
          startActivity(intent);

    }
}

......它有效。

但是,如果我尝试在自定义类中使用此方法:

public class MyMethods extends MainScreenActivity {
    public void Go_to_Scr2(View v){
        Intent intent = new Intent(this, MainMenuActivity.class);
          startActivity(intent);        
    }
}

...它导致我的应用程序崩溃。

总结:我有一个方法在类中扩展了创建View的Context类,但它不起作用(Log Cat中的NoSuchMethodException):

04-30 13:03:50.431: E/AndroidRuntime(22355): Caused by: java.lang.NoSuchMethodException: Go_to_Scr2 [class android.view.View]
04-30 13:03:50.431: E/AndroidRuntime(22355):    at java.lang.Class.getConstructorOrMethod(Class.java:460)
04-30 13:03:50.431: E/AndroidRuntime(22355):    at java.lang.Class.getMethod(Class.java:915)
04-30 13:03:50.431: E/AndroidRuntime(22355):    at android.view.View$1.onClick(View.java:3578)
04-30 13:03:50.431: E/AndroidRuntime(22355):    ... 11 more

我的错误在哪里?谢谢!

1 个答案:

答案 0 :(得分:0)

Android Documents说&#34; Android系统调用活动的公共方法。为了使其工作,该方法必须是公共的,并接受View作为其唯一参数。&#34;

它只能在Activity类中使用。

相关问题