0

アプリを実行するとすべて問題ないように見えますが、[スタート] ボタンを押しても Hello が表示されず、スレッドの前にテキストを設定しようとしても機能しませんでした。なぜこれが起こるのでしょうか?

コードは次のとおりです。

public class MainActivity extends Activity implements OnClickListener {
Handler mHandler;
Button enter;
Button start;

TextView 表示;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    enter = (Button)findViewById(R.id.enter);
    start = (Button)findViewById(R.id.start);
    display =(TextView)findViewById(R.id.Display);

    mHandler = new Handler(){
        public void handleMessage(Message msg) {
            // TODO Auto-generated method stub
            super.handleMessage(msg);
            Bundle bundle = msg.getData();
            String string = bundle.getString("myKey");
            display.setText(string);

        }
    };
}

@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;
}

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    switch(v.getId()){
    case R.id.enter:
        break;
    case R.id.start:
         Thread setText = new Thread(){

            @Override
            public void run() {
                // TODO Auto-generated method stub
                super.run();
                Message msg= Message.obtain();
                Bundle bundle = new Bundle();
                String dateString;
                dateString = "Hello";
                bundle.putString("myKey", dateString);
                msg.setData(bundle);
                mHandler.sendMessage(msg);
            }



        };
        setText.start();
        break;
    }
}

}
4

1 に答える 1

1

onCreate() メソッドの入力/開始ボタンにリスナーを登録していません。fe を呼び出すだけです:

enter.setOnClickListener(this);
于 2013-06-26T14:53:17.137 に答える