Java 尝试启动第二个活动后应用程序崩溃
当我第一次打开应用程序并使用导航时,它工作正常,并将我发送到所需的活动。当我在第二个活动中单击导航中的一个选项卡时,整个应用程序崩溃。以下是相关代码: MainActivity.javaJava 尝试启动第二个活动后应用程序崩溃,java,android,xml,Java,Android,Xml,当我第一次打开应用程序并使用导航时,它工作正常,并将我发送到所需的活动。当我在第二个活动中单击导航中的一个选项卡时,整个应用程序崩溃。以下是相关代码: MainActivity.java public void CMYKClick(View view) { Intent intent = new Intent(this, CMYKActivity.class); startActivity(intent); } public void hexClick(View view) {
public void CMYKClick(View view) {
Intent intent = new Intent(this, CMYKActivity.class);
startActivity(intent);
}
public void hexClick(View view) {
Intent intent = new Intent(this, hexActivity.class);
startActivity(intent);
}
public void RGBClickCMYK() {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
public void HexClickCMYK() {
Intent intent = new Intent(this, hexActivity.class);
startActivity(intent);
}
public void RGBClickHex() {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
public void CMYKClickHex() {
Intent intent = new Intent(this, CMYKActivity.class);
startActivity(intent);
}
public void rgbClickCMYK(View view) {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
public void hexClickCMYK(View view) {
Intent intent = new Intent(this, hexActivity.class);
startActivity(intent);
}
CMYKActivity.java
public void CMYKClick(View view) {
Intent intent = new Intent(this, CMYKActivity.class);
startActivity(intent);
}
public void hexClick(View view) {
Intent intent = new Intent(this, hexActivity.class);
startActivity(intent);
}
public void RGBClickCMYK() {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
public void HexClickCMYK() {
Intent intent = new Intent(this, hexActivity.class);
startActivity(intent);
}
public void RGBClickHex() {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
public void CMYKClickHex() {
Intent intent = new Intent(this, CMYKActivity.class);
startActivity(intent);
}
public void rgbClickCMYK(View view) {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
public void hexClickCMYK(View view) {
Intent intent = new Intent(this, hexActivity.class);
startActivity(intent);
}
java
public void CMYKClick(View view) {
Intent intent = new Intent(this, CMYKActivity.class);
startActivity(intent);
}
public void hexClick(View view) {
Intent intent = new Intent(this, hexActivity.class);
startActivity(intent);
}
public void RGBClickCMYK() {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
public void HexClickCMYK() {
Intent intent = new Intent(this, hexActivity.class);
startActivity(intent);
}
public void RGBClickHex() {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
public void CMYKClickHex() {
Intent intent = new Intent(this, CMYKActivity.class);
startActivity(intent);
}
public void rgbClickCMYK(View view) {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
public void hexClickCMYK(View view) {
Intent intent = new Intent(this, hexActivity.class);
startActivity(intent);
}
最后是日志:
08-11 17:17:35.925 2001-2001/com.example.michael.colorpicker E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.example.michael.colorpicker, PID: 2001
java.lang.IllegalStateException: Could not find a method CMYKClickHex(View) in the activity class com.example.michael.colorpicker.hexActivity for onClick handler on view class android.support.v7.widget.AppCompatButton with id 'CMYKNavBtn'
at android.view.View$1.onClick(View.java:4007)
at android.view.View.performClick(View.java:4780)
at android.view.View$PerformClick.run(View.java:19866)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5257)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Caused by: java.lang.NoSuchMethodException: CMYKClickHex [class android.view.View]
at java.lang.Class.getMethod(Class.java:664)
at java.lang.Class.getMethod(Class.java:643)
at android.view.View$1.onClick(View.java:4000)
logcat的其余部分格式不正确,因此我将其忽略。如果有必要,我可以添加它。您的方法签名应该是:
public void CMYKClickHex(View view) { ... }
而不是:
public void CMYKClickHex(//Nothing) { ... }
您的方法签名应为:
public void CMYKClickHex(View view) { ... }
而不是:
public void CMYKClickHex(//Nothing) { ... }
方法名称应以小写字母开头 您必须在xml文件中为按钮提供onClick。方法的视图参数和被调用的方法的名称应与您为onClick属性指定的名称相同 大概是这样的: CMYKActivity.java
public void CMYKClick(View view) {
Intent intent = new Intent(this, CMYKActivity.class);
startActivity(intent);
}
public void hexClick(View view) {
Intent intent = new Intent(this, hexActivity.class);
startActivity(intent);
}
public void RGBClickCMYK() {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
public void HexClickCMYK() {
Intent intent = new Intent(this, hexActivity.class);
startActivity(intent);
}
public void RGBClickHex() {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
public void CMYKClickHex() {
Intent intent = new Intent(this, CMYKActivity.class);
startActivity(intent);
}
public void rgbClickCMYK(View view) {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
public void hexClickCMYK(View view) {
Intent intent = new Intent(this, hexActivity.class);
startActivity(intent);
}
方法名称应以小写字母开头 您必须在xml文件中为按钮提供onClick。方法的视图参数和被调用的方法的名称应与您为onClick属性指定的名称相同 大概是这样的: CMYKActivity.java
public void CMYKClick(View view) {
Intent intent = new Intent(this, CMYKActivity.class);
startActivity(intent);
}
public void hexClick(View view) {
Intent intent = new Intent(this, hexActivity.class);
startActivity(intent);
}
public void RGBClickCMYK() {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
public void HexClickCMYK() {
Intent intent = new Intent(this, hexActivity.class);
startActivity(intent);
}
public void RGBClickHex() {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
public void CMYKClickHex() {
Intent intent = new Intent(this, CMYKActivity.class);
startActivity(intent);
}
public void rgbClickCMYK(View view) {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
public void hexClickCMYK(View view) {
Intent intent = new Intent(this, hexActivity.class);
startActivity(intent);
}
将
public void CMYKClickHex()
更改为public void CMYKClickHex(视图)
。
使用onClick时必须始终发送视图。将
公共无效CMYKClickHex()
更改为公共无效CMYKClickHex(视图视图)
。
使用onClick时必须始终发送视图。可能需要一个方法
CMYKClickHex(视图视图)
为什么您的类名小写而方法名大写?可能需要一个方法CMYKClickHex(视图)
为什么您的类名小写而方法名大写?