Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法重写onClick方法_Java_Android - Fatal编程技术网

Java 无法重写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 =

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 = "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。