0

Androidのボタンに問題があります。onClickリスナーを設定しようとしましたが、失敗し、クラッシュし、helpeulエラーメッセージが出力されません。これが私のコードです:

Button button;
button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

        setContentView(R.layout.choose_level);

    }
});

try catchステートメントを入れてみたので、迷惑なエラーは表示されませんが、ボタンは機能しません。レイアウトが読み込まれていないためでしょうか?それとも何か他のものですか?

前もって感謝します。

4

3 に答える 3

1

ボタンsetContentView(R.layout.XML_LAYOUT);を呼び出す前に、メソッドを呼び出す必要があります。findViewById

ここで、XML_LAYOUTは、ボタンIDを含むレイアウトである必要があります。

注: -setContentViewメソッドを複数回呼び出すことはお勧めしません。別のレイアウト/画面を表示したい場合は、それを別のアクティビティに追加し、ボタンをクリックしてそのアクティビティを開始します。

于 2012-08-07T18:43:41.873 に答える
1

ボタンonClickリスナーでsetContentView(R.Layout.XML_LAYOUT)を呼び出していますが、oncreateメソッドでは上記のようになっているはずです。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    /
    Button play = (Button)findViewById(R.id.play);
    play.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            show ur text here

        }
    });

私がやろうとしているのは、レイアウトファイルであるXMLファイルのビューを設定することだと思います。インフレーターとインテントを確認してください。

于 2012-08-07T19:06:47.507 に答える
0

私はそれをtry、catchステートメントに入れて、迷惑なエラーを出さないようにします...

catchブロックは、エラーの発生を魔法のように阻止することはありません。ブロックを使用して、アプリケーションの「迷惑なエラーの発生」を阻止することはできません

これらのケースから回復できる場合は、エラーを処理するためにそれらを使用します(たとえば、待機して再試行する、より遅い代替手段にフォールバックするなど)。

キャッチブロックの実装は何ですか?エラーを飲み込んだだけの場合でも、アプリは失敗します。エラーに対処するための診断情報がないのはあなただけです。

元の「迷惑なエラー」に戻り、それが発生した理由を突き止めてから、出力を抑制するのではなく、修正する必要があります。

于 2012-08-07T18:33:58.073 に答える