Android-I';I’我正在尝试进行Onclick事件,当应用程序启动时,它会给我这个错误

Android-I';I’我正在尝试进行Onclick事件,当应用程序启动时,它会给我这个错误,android,Android,我正在尝试制作一个应用程序来更改主活动中的一些文本,但这不是错误。OnClick事件中的真正错误是: 不兼容类型 这是包含错误的两个文件 首先,xml是: <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context=".First_Activ" > <item android:id="@+

我正在尝试制作一个应用程序来更改主活动中的一些文本,但这不是错误。OnClick事件中的真正错误是:

不兼容类型

这是包含错误的两个文件

首先,xml是:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".First_Activ" >
<item android:id="@+id/action_settings"
    android:title="@string/action_settings"
    android:orderInCategory="100"
    android:showAsAction="never" />
<item android:title="AlMA PRO Leader - First Test"
    android:id="@+id/AlmaSettingItem"
    android:onClick="Doit"
    />
</menu>
错误在First_Activ.java中

 @Override
public Void DoIt(MenuItem Item){
    TextView txt= (TextView)findViewById(R.id.ARMY );
    txt.setText("Done");
    return true;
}

这段代码无法编译。你在试图归还一些东西。但是你的

public Void DoIt(MenuItem Item) 
他真的回来了吗


Omar,我想你不知道Java的主要原理。我建议您阅读Java基础知识和Android。编写代码并在这里寻求帮助而不理解此代码的实际用途不是解决方案。

此代码无法编译。你在试图归还一些东西。但是你的

public Void DoIt(MenuItem Item) 
他真的回来了吗


Omar,我想你不知道Java的主要原理。我建议您阅读Java基础知识和Android。在这里编写代码并请求帮助,而不了解代码的实际用途,这不是解决方案。

您在xml中将其声明为

android:onClick="Doit"
但在Java中,您有

public Void DoIt(MenuItem Item){
“Doit”在两种情况下都不一样。解决这个问题。如果这不是你的问题,那么请张贴错误

所以在xml中进行更改

android:onClick="doIt"
另外,删除函数中的
return
语句,将返回类型改为
void
,并更改函数名称,使其符合Java标准

@Override
public void doIt(MenuItem item){
    TextView txt= (TextView)findViewById(R.id.ARMY );
    txt.setText("Done");
}

我还将
Item
更改为
Item
,以坚持Java标准

您在xml中将其声明为

android:onClick="Doit"
但在Java中,您有

public Void DoIt(MenuItem Item){
“Doit”在两种情况下都不一样。解决这个问题。如果这不是你的问题,那么请张贴错误

所以在xml中进行更改

android:onClick="doIt"
另外,删除函数中的
return
语句,将返回类型改为
void
,并更改函数名称,使其符合Java标准

@Override
public void doIt(MenuItem item){
    TextView txt= (TextView)findViewById(R.id.ARMY );
    txt.setText("Done");
}


我还将
Item
更改为
Item
以遵守Java标准

如何声明R.id.ARMY?漏洞错误在[return true;]如何声明R.id.ARMY?漏洞错误在[return true;]中,完全是一团糟。Void必须是Void。当我删除[Return true;]时,它会给我缺少的返回Statement@Loco你应该在你的答案中添加,如果你想添加我的,你可以,我会删除它。但这取决于你。我想这会解决我看到的所有问题我不明白我该怎么做。这是你的答案,所以你应该想怎么做就怎么做。但是如果你在答案中加入你的第一条评论,并将我的答案编辑进去,那么我认为这将是一个完整的答案并解决了问题。这完全是一团糟。Void必须是Void。当我删除[Return true;]时,它会给我缺少的返回Statement@Loco你应该在你的答案中添加,如果你想添加我的,你可以,我会删除它。但这取决于你。我想这会解决我看到的所有问题我不明白我该怎么做。这是你的答案,所以你应该想怎么做就怎么做。但是如果你在答案中添加你的第一条评论并编辑我的答案,那么我认为这将是一个完整的答案并解决问题。不兼容类型。必需:找到Java.lang.Void:Boolean@OmarAlMA3lOl把我的答案和Loco的答案结合起来(包括他最初的评论),应该会有用。谢谢你,我这么做了,但是如何使它返回无效??你不会返回无效。你用void来表示你没有归还任何东西。看看Loco的另一个答案。在处理Android之前,你真的需要学习Java基础知识。你帮了我很多忙,谢谢你这么多不兼容的类型。必需:找到Java.lang.Void:Boolean@OmarAlMA3lOl把我的答案和Loco的答案结合起来(包括他最初的评论),应该会有用。谢谢你,我这么做了,但是如何使它返回无效??你不会返回无效。你用void来表示你没有归还任何东西。看看Loco的另一个答案。在攻克Android之前,你真的需要学习Java基础知识。你帮了我很多,谢谢你^^