- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我今天开始编写一个应用程序,我必须说我是一个完全的初学者。
我正在使用 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/
我的电脑正确配置了 SSH,我在尝试克隆存储库时遇到了这个错误: 我运行这个命令来克隆存储库 git clone ssh://git-codecommit.us-west-2.amazonaws.co
我试图下载android源代码。但是遇到了一个问题。 # repo init -u https://android.googlesource.com/platform/manifest fatal:
尝试运行我 4 年前开发的 Rails 4 项目,从那时起我一直在维护,我遇到了下一个错误,该错误在启动时卡住了应用程序: machine stack overflow in critical reg
这个问题在这里已经有了答案: psql: FATAL: role "postgres" does not exist (32 个答案) 关闭上个月。 我正在设置 Postgresql 以与 Rail
我正在创建新分支并尝试推送该分支(我尝试了以下命令): git push --all -u git push origin NewBranch 但在这两种情况下我都会收到此错误: Permission
我尝试克隆这个 repo 几次,但得到了同样的错误。是不是因为它太大而我的连接速度很慢? $ git clone https://git01.codeplex.com/typescript Cloni
我正在尝试使用 http://danielmiessler.com/study/git/#website 设置 git管理我的网站。 我已经到了指令的最后一步:git push website +ma
当我使用快速启动方法安装Eucalyptus云时,我看到安装失败。以后检查日志文件时,遇到以下错误。 最佳答案 错误消息是: Invalid gateway due to subnet/netmask
黄色, 我尝试按照以下步骤设置选项“在没有用户名和密码的情况下访问(推送到)Github”。 https://medium.com/@amanze.ogbonna/accessing-pushing-
我很难用 postgres 设置 django。 这是我的设置.py: DATABASES = { 'default': { 'ENGINE': 'django.db.back
当我尝试从实时实例服务器访问数据库时出现此错误。有谁知道原因吗? 最佳答案 可能是你的硬盘没有可用空间 关于PostgreSQL:致命:XX000:无法写入初始化文件,我们在Stack Overflo
我正在尝试连接到我的 PostgreSQL 服务器,但 psql 提示我没有有效的客户端证书。以下是我创建证书的方式: 自签名服务器证书: openssl req -new -text -nodes
我团队中的其他人创建了一个新的 git 分支,提交并推送到我们使用的常用远程。当我尝试检查这个分支时,我得到了这个: % git checkout 12382 fatal: Cannot switch
我正在尝试让 TravisCI 自动部署我的 Hakyll 静态站点,根据 this guide . 这是我的存储库的设置方式。我有我的源代码分支,其中包含我的 hakyll 和 Markdown 文
尝试提交时 git commit -a -m "Huge update" 我明白了 fatal: could not parse HEAD Error When Committing 看完fatal:
我想在我的 flutter 应用程序上使用 fcm,所以在创建 firebase 控制台并在我的 gradle 中安装了一些依赖项之后,如下所示: build.gradle:项目 dependenci
我是 GIT 的初学者,现在遇到了一个大问题。我在另一台 PC 上提交并推送了一些文件,现在在我的家用 PC 上,git 坏了。 请看下面: $ git status fatal: failed to
我想从 github 上克隆一个项目到我的电脑上 D:\Projects> git clone https://github.com/***/***.git 但是在下载的时候,出现了几个致命的错误:
所以我尝试使用以下命令获取opencv_contrib: $ git clone https://github.com/Itseez/opencv_contrib 这给了我以下错误: fatal: d
这是我在pod文件中使用的行 pod'SDWebImage','〜> 3.8' 以前是 pod'SDWebImage','〜> 3.7' 我尝试了以下 pod安装 pod更新和 pod更新'SDWeb
我是一名优秀的程序员,十分优秀!