我的按钮:
<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
我的错误在哪里?谢谢!
答案 0 :(得分:0)
Android Documents说&#34; Android系统调用活动的公共方法。为了使其工作,该方法必须是公共的,并接受View作为其唯一参数。&#34;
它只能在Activity类中使用。