0

「returninti;」の行の次のコードで、「構文エラー、「;」を挿入してReturnStatementを完了する」というエラーが発生します。

public class RecordActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_record);

    int i = intent.getIntExtra(MainActivity.EXTRA_INDEX, 0);
    int j = i+1;
    final String[]names = getResources().getStringArray(R.array.names);

    final TextView nameView = (TextView) findViewById(R.id.vNames);
    String vName = names[i];
    nameView.setText(vName);

    Button nextButton = (Button) findViewById(R.id.nextButton);
    nextButton.setOnClickListener(new OnClickListener() {
        public static onClickView(View v) {
            i=i+1;
            return int i;
        }
        }
    );
    }
    //...
}

ボタンクリック時に配列のインデックスを反復しようとしているので、onClickメソッドでインデックス「i」を返し、ループステートメントに入れることができます。すべての角かっこを閉じて確認しましたが、「;」が欠落している場所がわかりません。これに関する助けをいただければ幸いです。

4

4 に答える 4

1

これを次のように変更します。

public void onClickView(View v) {
    i=i+1;
}

戻り型はintではなくvoidであるためです。参照:View.OnClickListener

于 2012-11-05T13:58:24.827 に答える
0

int iアクティビティで宣言してから、onClickインクリメントするだけです。

public class RecordActivity extends Activity {
  int i;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_record);

i = intent.getIntExtra(MainActivity.EXTRA_INDEX, 0);
int j = i+1;
final String[]names = getResources().getStringArray(R.array.names);

final TextView nameView = (TextView) findViewById(R.id.vNames);
String vName = names[i];
nameView.setText(vName);

Button nextButton = (Button) findViewById(R.id.nextButton);
nextButton.setOnClickListener(new OnClickListener() {
    public void onClickView(View v) {
        i=i+1;
    }
    }
);
}
//...
于 2012-11-05T13:55:43.603 に答える
0

次のように、変数を再宣言しないようにします。

return i;
于 2012-11-05T13:56:05.137 に答える
0

に変更して、リターンタイプをからに変更return int i;してみましたか?返そうとしているときに「再宣言」するのは意味がありません。return i;voidinti

また、returnタイプは無効にする必要があると思いますので、returnステートメントを削除してください。

于 2012-11-05T13:58:05.063 に答える