Android-无法从View转换为Button

时间:2013-11-20 15:13:26

标签: java android casting android-button findviewbyid

好的,我是java和android编程的新手,但我遇到过最令人沮丧的错误,我似乎无法找到解决方案。这是错误发生的地方。

final Button button = (Button) findViewById(R.id.activity_button);

这是按钮本身的XML。

<Button
    android:id="@+id/button_main"
    android:layout_width="match_parent"
    android:layout_height="90dp"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text="@string/button_text" />

我没有看到问题,我导入import com.awesometech.uselessbutton.R;并没有帮助。有什么建议?我正在使用Eclipse。

2 个答案:

答案 0 :(得分:12)

更改为

 final Button button = (Button) findViewById(R.id.button_main);

你有

<Button
android:id="@+id/button_main" // id is button_main not activity_button

可能activity_button ID属于另一个视图,您将其转换为Button

答案 1 :(得分:0)

在您的主Activity中,在findViewbyId()方法中,传递您在xml中声明的Button的ID。

所以你的按钮代码是: -

<Button
android:id="@+id/button_main"
android:layout_width="match_parent"
android:layout_height="90dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@string/button_text" />

这里,id是button_main

所以在你的课堂上,你需要做

 final Button button = (Button) findViewById(R.id.button_main);//Button ID goes here
相关问题