Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:Button onClick自定义类中的描述_Android - Fatal编程技术网

Android:Button onClick自定义类中的描述

Android:Button onClick自定义类中的描述,android,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); startActiv

我的按钮

<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);        
    }
}
。。。它起作用了

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

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);        
    }
}
…它导致我的应用程序崩溃

小结:我有一个方法,它位于扩展创建视图所用的上下文类的类中,但它不起作用(Log Cat中的NoSuchMethodException):

我的错在哪里?谢谢

Android文档中说:“Android系统调用活动的public方法。为了使其有效,该方法必须是public的,并且接受视图作为其唯一参数。”


它应该只在活动类中工作。

在该类中,您正在为两个页面的按钮编写代码的xml
android:onClick
属性尝试使用反射找到正确的方法。当您尝试使用子类执行此操作时,可能会失败。一般来说,我不喜欢在main_screen.xml中使用
android:onCLick
attribute.Sree,我认为这行代码可以解决这个问题:公共类MyMethods扩展了MainScreenActivity