0

私は本当にAndroidとJavaが初めてですが、Androidアプリを作ろうとしています。

名前を入力するだけで、ボタンを押すだけで表示できるものを作成しようとしています。Eclipse から「到達不能コード」エラーが表示されます。私が間違っていることを皆さんが理解できるかどうか疑問に思っていました。エラーは、final の前にある 2 つのルールで示されます。これらのルールのいずれかを削除すると、エラーが他のルールに移動します。

前もってありがとう、
マレク

    package com.tutorial.helloworld2;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;


final EditText nameField = (EditText) findViewById(R.id.nameField);
final TextView nameView = (TextView) findViewById(R.id.nameView);

Button button = (Button) findViewById(R.id.button);

button.setOnClickListener(new OnClickListener() {

    public void onClick(View v) {
        nameView.setText("Hello " + nameField.getText());
    }
});

}

}
4

2 に答える 2

0

return trueメソッドの実行はこのステートメントで終了し、以下のコードは実行されないため、メソッドの最後に移動します。

于 2014-03-03T19:32:43.830 に答える
0

これはreturnステートメントによるもので、returna を返し、true現在コードを記述しているメソッド全体を終了します。これはonCreate()like で記述する必要があります。

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    final EditText nameField = (EditText) findViewById(R.id.nameField);
    final TextView nameView = (TextView) findViewById(R.id.nameView);
    Button button = (Button) findViewById(R.id.button);
    button.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            nameView.setText("Hello " + nameField.getText());
        }
    });
}

今、あなたはあなたの望む結果を得るでしょう

于 2014-03-03T19:35:05.477 に答える