0

私がここで抱えている非常に苛立たしい問題。私はこのコードを持っています:

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

そして、私はそれにこのエラーが発生しています:

タイプの不一致:フォームビューをボタンに変換できません

しかし、button1ボタンです!! 私のXMLレイアウトドキュメントでは、ボタンは次のように宣言されています。

<Button
   android:id = "@+id/button1"
   android:layout_width = "wrap_content"
   android:layout_height = "wrap_content"
   android:text = "Next Activity" 
/>

そして私のR.javaでは:

public static final class id {
   public static final int button1=0x7f050000;
}

ボタンが実際にはボタンであるのに、ボタンがビューであると誤解するのはなぜですか...謎です。

4

3 に答える 3

1

を削除android.R from packagesしてインポートしますR

import com.companyname.productname.R;

ボタンの参照も変更します

Button b = (Button)findViewById(R.id.button1);
                                ^^^^^^^^^^^^
于 2012-05-25T12:03:52.153 に答える
1

ビューをボタンにキャストする必要があります。

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

詳細については、http://docs.oracle.com/javase/tutorial/java/IandI/subclasses.htmlを参照してください。

また、他の方の回答通り、idが間違っています。

于 2012-05-25T12:04:51.367 に答える
0

あなたの間違いはここにあります-Button b = findViewById(android.R.id.button1);

上記の行を findViewById(R.id.button1); に置き換えます。

于 2012-05-25T12:05:01.047 に答える