1

ばかげているように聞こえるかもしれませんが、Button キーワードでエラーが発生しています (あるべきではない場所)。私は初心者で、ほとんどどこでも見ました。そして誰もがそう言う

Button b = findViewById(R.id.button1);

正しい。

私のコード:

package com.example.myfirstappnew;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button b = findViewById(R.id.button1);
    }


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


}

スクリーンショットは次のとおりです: http://pbrd.co/ZEsSw7

4

4 に答える 4

3

findViewById は View を返します。これを Button にキャストする必要があります。

Button b = (Button) findViewById(R.id.button1);

編集:

i が表示されている最初のリンクをクリックします。mport import Button(android.widget.)

または単に押すctrl+shift+o

于 2013-03-18T19:23:51.020 に答える
3

私が見たところ、 findViewById が返さViewれ、 ではなくButton、 にキャストする必要があるため、エラーが発生しましたButton

Buttonを aにキャストする必要がありますButton:

Button b = (Button) findViewById(R.id.button1);

そして、このインポートを追加します:

import android.widget.Button;

次回、エラーがあると言うときは、それを含めてください:)

于 2013-03-18T19:22:44.427 に答える
3

コードをインポートする必要がありますButton(スクリーンショットの上部のヒントに示されているように)。

于 2013-03-18T19:25:08.470 に答える
1

まず、変更する必要があります

Button b = findViewById(R.id.button1);

Button b = (Button) findViewById(R.id.button1);

また、追加する必要があります

import java.widget.Button;

ファイルの先頭にある import ステートメントに追加します。Eclipse を使用している場合は、その「インポートの編成」機能 (または Eclipse が呼び出すもの) を使用して、これを自動的に行う必要があります。

于 2013-03-18T19:27:30.810 に答える