私は以前はアンドロイド用に開発した経験がありましたが、6ヶ月後にもう一度起動して、ほとんどを忘れました。私は今、私の開発を行うためにmacbookを使用しており、Eclipse、Android SDK、AVDをもう一度セットアップしなければならなかったので、私は何かを混乱させてしまうことを心配しています。Android - シンプルなプログラムだがまだ苦労している
私の画面に「Hello World」と表示されるデフォルトのアクティビティで新しいプロジェクトを開始すると、アプリケーションは正常に動作します。次に、新しいTextViewのテキストを変更する2つのボタンを入れようとしました。しかし、私はtextViewの部分を含めるたびに私はランタイムエラーが発生します。私がそれをコメントアウトすると、アプリケーションは動作しますが、明らかに何も起こりません。私が読んできたチュートリアルに基づいて、これは適切な場所とtextViewの宣言/作成方法ですが、何が間違っているのか理解できません。助言がありますか?
[編集]私は迷惑をかけていました。私は、TextViewの代わりにmytextをフィールドにすることができ、それが機能することを発見しました。だから私のonCreate()では、私は置く
mytext = (TextField)findViewById(R.id.TextView1);
しかし、それは正しいことをするように見えません。
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class IntroActivity extends Activity {
TextView myText = (TextView)findViewById(R.id.textView1);
//i've tried this with final added on to it as well (recommended by eclipse)
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setButtonClickListener();
}
private void setButtonClickListener() {
Button button1 = (Button)findViewById(R.id.button1);
Button button2 = (Button)findViewById(R.id.button2);
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
myText.setText("Hello");
}
});
button2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// myText.setText("Goodbye");
}
});
}
}
あなたの 'TextView myText'にタイプを追加する必要があります。これは' private'または 'final'を意味します。ファイナルはプロジェクト全体を検索するので、ボックスに一意の名前がある場合にのみ使用してください。 – gkiar