我正在使用navasmdc的MaterialDesignLibrary。
现在我只想获得对Button的引用,我得到了问题:
不兼容的类型:
必需:com.gc.materialdesign.views.buttonflat 发现:android.view.view
我的代码如下:
(...)
ButtonFlat cmdNextButton;
(...)
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_registration_page_stufe, container, false);
cmdNextButton = rootView.findViewById(R.id.registration_button_next);
return rootView;
}
(...)
在我的xml中只是按钮:
<com.gc.materialdesign.views.ButtonFlat
android:id="@+id/registration_button_next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/colorPrimaryDark"
android:text="weiter" />
我不明白为什么我会遇到这个问题,因为我在代码中创建的按钮来自我使用的库类。 Android工作室甚至自动导入它......
答案 0 :(得分:1)
findViewById()方法返回一个View,您需要将其强制转换为View类型。你也需要为常规按钮执行此操作。
您可以在this example中看到分配ButtonFlat引用的正确方法。
只需投射findViewById()
的结果,它应该有效:
cmdNextButton = (ButtonFlat) rootView.findViewById(R.id.registration_button_next);