您好我收到此消息android.widget.imagebutton无法强制转换为android.widget.button(请参阅附件pic了解logcat错误),我不明白为什么?因为我的代码似乎是正确的。
代码:
ImageButton Calendar = (ImageButton) findViewById (R.id.Calendar);
Calendar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent OpenCalendarbtn = new Intent (Menu.this, DisplayCalendar.class);
startActivity (OpenCalendarbtn);
}
});
完整布局xml文件:
`
<ImageButton
android:id="@+id/Read"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/Write"
android:layout_marginRight="31dp"
android:src="@drawable/read" />
<ImageView
android:id="@+id/AppLogo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:src="@drawable/logo" />
<ImageButton
android:id="@+id/Write"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/AppLogo"
android:layout_marginLeft="35dp"
android:layout_marginTop="14dp"
android:src="@drawable/write" />
<ImageButton
android:id="@+id/Calendar"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_alignLeft="@+id/Write"
android:layout_below="@+id/Write"
android:layout_marginTop="20dp"
android:src="@drawable/calendar/>
`
答案 0 :(得分:2)
确保您在布局资源文件中使用了<ImageButton>
标记而不是<Button>
标记。
这可能是错误的原因。
答案 1 :(得分:0)
更改您的
ImageButton Calendar = (ImageButton) findViewById (R.id.Calendar);
要:
Button Calendar = (Button) findViewById (R.id.Calendar);
答案 2 :(得分:0)
它的Eclipse问题不在您的代码中。
解决方法是在xml
中按Ctrl + c复制代码并保存xml
然后再次粘贴它然后保存并运行.....这对我有效。