当我使用活动后退按钮后,我在我的应用程序崩溃点击应用按钮 [英] When i use the back button in activity my app crashes after i click a button in the app
问题描述
包com.example.submenus;进口android.os.Bundle;
进口android.app.Activity;
进口android.view.View;
进口android.widget.Button;公共类MainActivity延伸活动{ @覆盖
公共无效onBack pressed(){
的setContentView(R.layout.activity_main);
}
@覆盖
保护无效的onCreate(捆绑savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_main);
最后Button按钮=(按钮)findViewById(R.id.a4button);
button.setOnClickListener(新View.OnClickListener(){
公共无效的onClick(视图v){
的setContentView(R.layout.audi);
} }); 最终按钮按钮1 =(按钮)findViewById(R.id.a6button);
button1.setOnClickListener(新View.OnClickListener(){
公共无效的onClick(视图v){
的setContentView(R.layout.audia6);
}
}); }
}
这是code为我的主要活动。在我的XML文件,我有2个功能的按钮,从主菜单中有不同的看法。当我preSS后退按钮,就又回到了我的应用程序的主菜单,就像它应该。然后,如果我点击另一个按钮的应用程序冻结,然后崩溃。我只有在java中的背景。有谁知道如何解决这一问题?
另外,这里是我的错误日志从我的logcat
11-18 21:16:14.674:E / AndroidRuntime(30176):致命异常:主要
11-18 21:16:14.674:E / AndroidRuntime(30176):java.lang.IllegalStateException:找不到在活动课com.example.submenus.MainActivity对视图类的Android的onClick处理程序的方法ButtonOnClick(查看)。 widget.Button ID为a4button
11-18 21:16:14.674:E / AndroidRuntime(30176):在android.view.View $ 1.onClick(View.java:3666)
11-18 21:16:14.674:E / AndroidRuntime(30176):在android.view.View.performClick(View.java:4203)
11-18 21:16:14.674:E / AndroidRuntime(30176):在android.view.View $ PerformClick.run(View.java:17189)
11-18 21:16:14.674:E / AndroidRuntime(30176):在android.os.Handler.handleCallback(Handler.java:615)
11-18 21:16:14.674:E / AndroidRuntime(30176):在android.os.Handler.dispatchMessage(Handler.java:92)
11-18 21:16:14.674:E / AndroidRuntime(30176):在android.os.Looper.loop(Looper.java:137)
11-18 21:16:14.674:E / AndroidRuntime(30176):在android.app.ActivityThread.main(ActivityThread.java:4950)
11-18 21:16:14.674:E / AndroidRuntime(30176):在java.lang.reflect.Method.invokeNative(本机方法)
11-18 21:16:14.674:E / AndroidRuntime(30176):在java.lang.reflect.Method.invoke(Method.java:511)
11-18 21:16:14.674:E / AndroidRuntime(30176):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1004)
11-18 21:16:14.674:E / AndroidRuntime(30176):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
11-18 21:16:14.674:E / AndroidRuntime(30176):在dalvik.system.NativeStart.main(本机方法)
11-18 21:16:14.674:E / AndroidRuntime(30176):java.lang.NoSuchMethodException:致ButtonOnClick [类android.view.View]
11-18 21:16:14.674:E / AndroidRuntime(30176):在java.lang.Class.getConstructorOrMethod(Class.java:460)
11-18 21:16:14.674:E / AndroidRuntime(30176):在java.lang.Class.getMethod(Class.java:915)
11-18 21:16:14.674:E / AndroidRuntime(30176):在android.view.View $ 1.onClick(View.java:3659)
11-18 21:16:14.674:E / AndroidRuntime(30176):... 11个
如果您在设置你为什么不创建两个不同的活动和内容设置在这些活动中这些观点上的按钮,点击两种不同的意见。
然后就可以调用那些按钮点击听众的活动。它是快速高效,您的应用程序不会崩溃。
java.lang.IllegalStateException:找不到在活动课com.example.submenus.MainActivity为的onClick处理程序上的视图类android.widget.Button与方法ButtonOnClick(视图) ID'a4button
这个错误意味着你没有名为 ButtonOnClick(视图)的方法
与ID按钮 a4button
。
删除那些最终修饰也
package com.example.submenus;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
@Override
public void onBackPressed() {
setContentView(R.layout.activity_main);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button button = (Button) findViewById(R.id.a4button);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
setContentView(R.layout.audi);
}
} );
final Button button1 = (Button) findViewById(R.id.a6button);
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
setContentView(R.layout.audia6);
}
} );
}
}
This is the code for my main activity. In my xml files, i have 2 buttons which lead to a different view from the main menu. And when i press the back button, it comes back to the main menu of my app just as it should. Then, if i click on another button the app freezes and then crashes. I only have background in java. Does anyone know how to fix this?
Plus, here are the logs for my error from my logcat
11-18 21:16:14.674: E/AndroidRuntime(30176): FATAL EXCEPTION: main
11-18 21:16:14.674: E/AndroidRuntime(30176): java.lang.IllegalStateException: Could not find a method ButtonOnClick(View) in the activity class com.example.submenus.MainActivity for onClick handler on view class android.widget.Button with id 'a4button'
11-18 21:16:14.674: E/AndroidRuntime(30176): at android.view.View$1.onClick(View.java:3666)
11-18 21:16:14.674: E/AndroidRuntime(30176): at android.view.View.performClick(View.java:4203)
11-18 21:16:14.674: E/AndroidRuntime(30176): at android.view.View$PerformClick.run(View.java:17189)
11-18 21:16:14.674: E/AndroidRuntime(30176): at android.os.Handler.handleCallback(Handler.java:615)
11-18 21:16:14.674: E/AndroidRuntime(30176): at android.os.Handler.dispatchMessage(Handler.java:92)
11-18 21:16:14.674: E/AndroidRuntime(30176): at android.os.Looper.loop(Looper.java:137)
11-18 21:16:14.674: E/AndroidRuntime(30176): at android.app.ActivityThread.main(ActivityThread.java:4950)
11-18 21:16:14.674: E/AndroidRuntime(30176): at java.lang.reflect.Method.invokeNative(Native Method)
11-18 21:16:14.674: E/AndroidRuntime(30176): at java.lang.reflect.Method.invoke(Method.java:511)
11-18 21:16:14.674: E/AndroidRuntime(30176): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
11-18 21:16:14.674: E/AndroidRuntime(30176): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
11-18 21:16:14.674: E/AndroidRuntime(30176): at dalvik.system.NativeStart.main(Native Method)
11-18 21:16:14.674: E/AndroidRuntime(30176): Caused by: java.lang.NoSuchMethodException: ButtonOnClick [class android.view.View]
11-18 21:16:14.674: E/AndroidRuntime(30176): at java.lang.Class.getConstructorOrMethod(Class.java:460)
11-18 21:16:14.674: E/AndroidRuntime(30176): at java.lang.Class.getMethod(Class.java:915)
11-18 21:16:14.674: E/AndroidRuntime(30176): at android.view.View$1.onClick(View.java:3659)
11-18 21:16:14.674: E/AndroidRuntime(30176): ... 11 more
If you are setting two different views on a button click, why don't you create two different activities and set content those views in those activities.
Then you can call those activities from those button click listeners. It is fast efficient and your app will not crash.
java.lang.IllegalStateException: Could not find a method ButtonOnClick(View) in the activity class com.example.submenus.MainActivity for onClick handler on view class android.widget.Button with id 'a4button'
This errors means that you do not have a method named ButtonOnClick(View)
for button with id a4button
.
Remove those final modifiers also
这篇关于当我使用活动后退按钮后,我在我的应用程序崩溃点击应用按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!