我试图制作一个可以更改主要活动中某些文字的应用,但这不是错误。 OnClick Event中的真正错误是:
不兼容的类型
这是包含错误的两个文件
first_.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;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.first_, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
错误在First_Activ.java
中 @Override
public Void DoIt(MenuItem Item){
TextView txt= (TextView)findViewById(R.id.ARMY );
txt.setText("Done");
return true;
}
答案 0 :(得分:2)
此代码无法编译。你想要归还一些东西。但你的是什么
public Void DoIt(MenuItem Item)
实际上正在回归?
奥马尔,我认为你不了解Java的主要原则。我建议你阅读Java基础知识和Android。编写代码并在此处询问帮助而不了解此代码实际上应该执行的操作不是解决方案。答案 1 :(得分:2)
您已在xml中将其声明为
android:onClick="Doit"
但是在Java中你有
public Void DoIt(MenuItem Item){
改变你的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标准