Java 无法重写onClick方法
androidstudio告诉我,我没有重写onClick方法。我在Activity.xml文件中使用以下命令指定了onClick方法:Java 无法重写onClick方法,java,android,Java,Android,androidstudio告诉我,我没有重写onClick方法。我在Activity.xml文件中使用以下命令指定了onClick方法: android:onClick="onClickBerechnen" 我做错了什么 public static final String BETRAG_KEY = "betrag"; public static final String BETRAG_ART = "art"; public static final String UST_PROZENT =
android:onClick="onClickBerechnen"
我做错了什么
public static final String BETRAG_KEY = "betrag";
public static final String BETRAG_ART = "art";
public static final String UST_PROZENT = "ust";
@Override
public void onClickBerechnen(View v) {
final EditText txtBetrag = (EditText) findViewById(R.id.edt_betrag);
final float betrag = Float.parseFloat(txtBetrag.getText().toString());
boolean isNetto = true;
final RadioGroup rg = (RadioGroup) findViewById(R.id.rg_art);
switch (rg.getCheckedRadioButtonId()) {
case R.id.rb_art_netto: isNetto = true; break;
case R.id.rb_art_brutto: isNetto = false; break;
default:
}
final Spinner spinner = (Spinner) findViewById(R.id.sp_umsatzsteuer);
final int pos = spinner.getSelectedItemPosition();
final int[] prozentwerte = getResources().getIntArray(R.array.ust_werte);
final Intent intent = new Intent(this, ErgebnisActivity.class);
intent.putExtra(BETRAG_KEY, betrag);
intent.putExtra(BETRAG_ART, isNetto);
intent.putExtra(UST_PROZENT, prozentwerte);
startActivity(intent);
}
您不需要重写该方法。删除
@覆盖
,您就没事了
当您在视图的onClick
上声明要使用的方法时,您只需要在各自的活动类中定义该方法
@override
标记用于表示基类中被重写的方法。仅当您希望重写从超类继承的方法并将其替换为自己的方法时,才使用@override注释
在您的情况下,这只是一个在用户单击按钮时调用的普通方法,因此您不会覆盖任何现有的“onClickBerechnen”方法。对于me,情况如下所示:
首先调试它实际崩溃的地方,只显示日志,而不实际说明它在哪里崩溃,这没有帮助
其次,我认为您必须尝试使用
YouActivity.this.findViewById(id);
下一步或第一步,确保视图实际上是您想要的视图:检查是否:
view.getId==R.id.btn_id
我删除了@Override,警告消失了,但当我使用按钮时,我的应用程序仍然与npe一起崩溃。这是另一个问题:)尝试检查您的日志中的npe,您会发现一些东西。谷歌搜索您的异常问题或发布另一个问题。啊,代码视图中出现了一个真正的denglische Frage。