-1

ユーザーがボタンを押したときにテキストを変更するこのコードは機能しません。いくつかの方法で変更しようとしましたが、なぜ変更されないのかわかりません...少し助けてください

package com.cookbook.simple_activity;

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

public class activity extends Activity {
    private TextView txt = (TextView) findViewById(R.id.hello_text);
    Button startButton = (Button) findViewById(R.id.trigger);
   @Override
   public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_simple);


   startButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            txt.setText(R.string.pressthisbutton);
        }
    });
 }
}
4

4 に答える 4

0
package com.cookbook.simple_activity;

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

public class activity extends Activity {

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

    final TextView txt = (TextView) findViewById(R.id.hello_text);
    Button startButton = (Button) findViewById(R.id.trigger);


   startButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            txt.setText("your text");
        }
    });
 }
}

これを試してください。ボタンとテキストビュー宣言をアクティビティの本体に移動しました。

于 2013-09-15T18:08:11.573 に答える
0

onCreate()Android のライフ サイクルは常に、メソッドの中で ID を割り当てることから始まりますonCreate

にプライベート修飾子を使用しないでくださいTextView

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

public class activity extends Activity {
     TextView txt; 
    Button startButton;

   @Override
   public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_simple);
          txt = (TextView) findViewById(R.id.hello_text);
     startButton = (Button) findViewById(R.id.trigger);


   startButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {

            txt.setText(R.string.pressthisbutton);

        }
    });
 }
}
于 2013-09-15T18:12:30.540 に答える