1

このメソッドは、ボタンの「OnClick プロパティ」に名前が割り当てられているため、ボタンのクリック時に呼び出されます。以下のコーディングでケースの正しいコードを指定する必要があります。ケースの定数式である必要があるというエラーが発生します。

public void onClick(View view) {
switch (view.getId()) {
case R.id.button1:
  RadioButton AButton = (RadioButton) findViewById(R.id.radio0);
  RadioButton BButton = (RadioButton) findViewById(R.id.radio1);
  if (text.getText().length() == 0) {
    Toast.makeText(this, "Please enter a valid number",
        Toast.LENGTH_LONG).show();
    return;
  }
4

2 に答える 2

1

ライブラリとしてマークされるプロジェクトでこのコードを使用する必要があります。それは...ですか?

はいの場合、この場合、view.getId()値を定数として使用できないことを理解する必要があります。このようなプロジェクトでは、ifelseステートメントを使用できます。

この背後にある理由は、メインプロジェクトで、同じIDでリソースを定義した場合、間違った結果が返されるか、初期化されるためです。したがって、これは、デバッグがより困難になるため、そのような状況を回避するためです。

if-elseステートメントを使用します。

また、ADTのバージョンは覚えていませんが、それ以降はビューIDは定数とは見なされません。

于 2013-01-14T12:02:17.987 に答える
0

switch caseステートメントをifステートメントに変換するだけで、それで十分です。説明については、switch caseステートメントのエラーを読んでください:case式は定数式でなければなりません

于 2013-01-14T12:03:02.177 に答える