gpt4 book ai didi

java - 致命异常 : main

转载 作者:搜寻专家 更新时间:2023-11-01 08:00:42 25 4
gpt4 key购买 nike

我今天开始编写一个应用程序,我必须说我是一个完全的初学者。
我正在使用 Eclipse 编写 Android 应用程序。
我刚开始构建最简单的东西,但看起来很糟糕......
我不明白为什么我不能这样做。
我正在尝试将文本框(在 Android SDK 中称为 Edittext)中写入的文本复制到字符串变量。
这个过程应该在按下 Button 按钮时开始。

这是我的代码:

public class MainActivity extends Activity  {

String verb_2;
String adjektiv_2;
String ort_2;

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

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

public void Anleitung (View view)
{
setContentView(R.layout.instruction);
}
public void multi_2 (View view)
{
setContentView(R.layout.multiplayer_2_1);
}

public void multi_4 (View view)
{
setContentView(R.layout.multiplayer_4_1);
}

public void exit (View view)
{
finish();
System.exit(0);
}
public void instruction_back (View view)
{
setContentView(R.layout.activity_main);
}


public void button1 (View view)
{
EditText nomen_2_box = (EditText)findViewById(R.id.editText1);
String nomen_2= nomen_2_box.getText().toString();
}

最后是崩溃报告:

02-11 16:17:03.663: E/AndroidRuntime(988): FATAL EXCEPTION: main
02-11 16:17:03.663: E/AndroidRuntime(988): java.lang.IllegalStateException: Could not find a method multi_next_1(View) in the activity class com.kaltech.creasedstory.MainActivity for onClick handler on view class android.widget.Button with id 'button1'
02-11 16:17:03.663: E/AndroidRuntime(988): at android.view.View$1.onClick(View.java:3578)
02-11 16:17:03.663: E/AndroidRuntime(988): at android.view.View.performClick(View.java:4084)
02-11 16:17:03.663: E/AndroidRuntime(988): at android.view.View$PerformClick.run(View.java:16966)
02-11 16:17:03.663: E/AndroidRuntime(988): at android.os.Handler.handleCallback(Handler.java:615)
02-11 16:17:03.663: E/AndroidRuntime(988): at android.os.Handler.dispatchMessage(Handler.java:92)
02-11 16:17:03.663: E/AndroidRuntime(988): at android.os.Looper.loop(Looper.java:137)
02-11 16:17:03.663: E/AndroidRuntime(988): at android.app.ActivityThread.main(ActivityThread.java:4745)
02-11 16:17:03.663: E/AndroidRuntime(988): at java.lang.reflect.Method.invokeNative(Native Method)
02-11 16:17:03.663: E/AndroidRuntime(988): at java.lang.reflect.Method.invoke(Method.java:511)
02-11 16:17:03.663: E/AndroidRuntime(988): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
02-11 16:17:03.663: E/AndroidRuntime(988): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
02-11 16:17:03.663: E/AndroidRuntime(988): at dalvik.system.NativeStart.main(Native Method)
02-11 16:17:03.663: E/AndroidRuntime(988): Caused by: java.lang.NoSuchMethodException: multi_next_1 [class android.view.View]
02-11 16:17:03.663: E/AndroidRuntime(988): at java.lang.Class.getConstructorOrMethod(Class.java:460)
02-11 16:17:03.663: E/AndroidRuntime(988): at java.lang.Class.getMethod(Class.java:915)
02-11 16:17:03.663: E/AndroidRuntime(988): at android.view.View$1.onClick(View.java:3571)
02-11 16:17:03.663: E/AndroidRuntime(988): ... 11 more

谁能解释一下我做错了什么?
也许为什么?

我觉得是因为这个

public void button1 (View view) { EditText nomen_2_box = (EditText)findViewById(R.id.editText1);
String nomen_2= nomen_2_box.getText().toString(); }

但是我找不到任何解决方案:(

谢谢大家!

最佳答案

当您在 xml 中将 onClick 方法声明为按钮的属性时,将抛出此异常:

<Button
android:onClick="multi_next_1"/>

这会告诉 Android 在您的 Activity 中寻找一个名为 multi_next_1 的方法,它带有一个单独的 View 参数。您可以像这样在您的 xml 中正确声明您的方法

android:onClick="button1"

或更改您的方法名称以匹配您在 xml 中的声明,如下所示:

public void multi_next_1 (View view)
{
EditText nomen_2_box = (EditText)findViewById(R.id.editText1);
String nomen_2= nomen_2_box.getText().toString();
}

就我个人而言,我会选择驼峰命名,但我想这是风格问题。如果您有任何不清楚的地方,请告诉我。

关于java - 致命异常 : main,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21707581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com