-2

私は古い投稿で同様の種類の質問を経験しました..それらを修正しました。まだ力を近づける問題があります。助けてください。

次のうち正しいものはどれですか?

Button continueButton = (Button) findViewById(R.id.continue_button);

また

View continueButton = findViewById(R.id.continue_button);

そして、それらの違いは何ですか?


package org.example.sudoku;

import android.os.Bundle;


import android.view.View.OnClickListener;
import android.app.Activity;
import android.view.Menu;
import android.widget.Button;

public class Sudoku extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);    
        setContentView(R.layout.main);

       Button continueButton = (Button) findViewById(R.id.continue_button);
       continueButton.setOnClickListener((OnClickListener) this);

       Button aboutButton = (Button)findViewById(R.id.about_button);
       aboutButton.setOnClickListener((OnClickListener) this);

       Button newButton = (Button)findViewById(R.id.new_game_button);
       newButton.setOnClickListener((OnClickListener) this);

       Button exitButton = (Button)findViewById(R.id.exit_button);
       exitButton.setOnClickListener((OnClickListener) this);


    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

4

2 に答える 2

0

Buttonは のサブクラスであるため、どちらも正しいですViewButtonただし、リスナーやその他のものを追加できるように、通常は使用する必要があります。

アプリケーションの logcat 出力を実際に確認する必要があります。そこには、問題の特定に役立つスタックトレースがあります。

于 2012-08-26T16:04:58.923 に答える
0

問題は、ボタンにクリックリスナーを設定する方法にあると思います。これを使用しますが、アクティビティ クラスはインターフェイスを実装していません。代わりにそれを行うことをお勧めします:

 View.OnClickListener clickHandler = new View.OnClickListener() {
    public void onClick(View v) {

    }
  }

  Button continueButton = (Button) findViewById(R.id.continue_button);
  continueButton.setOnClickListener(clickHandler);+-
于 2012-08-26T16:12:31.187 に答える