我在这里遇到非常令人沮丧的问题。我有这段代码:
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;
}
为什么我得到并且错误地说我的按钮是一个视图,当它实际上确实是一个按钮...是一个谜。
答案 0 :(得分:1)
删除android.R from packages
并导入R
。
import com.companyname.productname.R;
并更改按钮参考
Button b = (Button)findViewById(R.id.button1);
^^^^^^^^^^^^
答案 1 :(得分:1)
您需要将视图转换为Button:
Button b = (Button) findViewById(android.R.id.button1);
http://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html
的更多详情另外,正如其他人所回答的那样,id是错误的。
答案 2 :(得分:0)
你的错误在这里 - 按钮b = findViewById(android.R.id.button1);
用findViewById(R.id.button1)替换上面的行;