我正在尝试实现一个外部色轮,它应该出现在的片段一直在崩溃我的应用程序。我想我明白为什么会发生这种情况,但是在尝试修复它大约6个小时后,我就要放弃了。我知道之前有人问过这个问题,但是我无法为我的特定问题导出一个修复程序。下面是我的代码:
private ColorchoiceViewModel galleryViewModel;
public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
galleryViewModel =
ViewModelProviders.of(this).get(ColorchoiceViewModel.class);
View root = inflater.inflate(R.layout.fragment_colorchoice, container, false);
galleryViewModel.getText().observe(getViewLifecycleOwner(), new Observer<String>() {
@Override
public void onChanged(@Nullable String s) {
}
});
ColorPickerView colorPickerView = (ColorPickerView) root.findViewById(R.id.colorPickerView);
colorPickerView.setColorListener (new ColorListener() {
@Override
public void onColorSelected(ColorEnvelope colorEnvelope) {
Toast.makeText(getActivity(), "Color:" + colorEnvelope.getColorRGB(), Toast.LENGTH_SHORT).show();
}
});
return root;
}
}
这是Logcat错误:
java.lang.NullPointerException: Attempt to invoke virtual method 'void com.skydoves.colorpickerpreference.ColorPickerView.setColorListener(com.skydoves.colorpickerpreference.ColorListener)' on a null object reference
at com.lsh.homeauto.ui.colorchoice.ColorchoiceFragment.onCreateView(ColorchoiceFragment.java:43)
如果有人能帮我解决这个问题,那就太好了。提前谢谢^^
编辑:这是我的XML,按要求:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:orientation="horizontal"
android:gravity="center">
<com.skydoves.colorpickerpreference.ColorPickerView
android:id="@+id/colorPickerView"
android:layout_width="300dp"
android:layout_height="300dp"
app:palette="@drawable/palette"
app:selector="@drawable/wheel" />
</LinearLayout>
这可能是因为您试图在一个甚至未创建的视图上使用setColorListener
。请注意,您正在onCreateView
方法中使用此方法。我建议您在onViewCreated
方法中移动这些行。
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
ColorPickerView colorPickerView = (ColorPickerView) view.findViewById(R.id.colorPickerView);
colorPickerView.setColorListener (new ColorListener() {
@Override
public void onColorSelected(ColorEnvelope colorEnvelope) {
Toast.makeText(getActivity(), "Color:" + colorEnvelope.getColorRGB(), Toast.LENGTH_SHORT).show();
}
});
}
我的应用程序有问题,我想解决它,但我无法访问解决方案,请帮助我,,,
我将使用库,并尝试在应用程序启动时使用以下方法获取令牌。 应用程序在发布时崩溃 AndroidManifest Build.Gradle: 此外,我尝试在SharedPreferences中缓存令牌,但似乎从未调用onNewToken()。 会有什么问题?
问题内容: 我收到以下错误 尝试在空对象引用上调用虚拟方法’void android.widget.StackView.setAdapter(android.widget.Adapter)’ 在这条线上 完整的片段 EventsFragment.java 是 Stack_Adapter.java Stack_Items 问题答案: 您正在执行: 你是。返回。 你为什么用? 在哪里?您应该从正确的x
我的应用程序有问题,想解决它,但我无法访问解决方案,请帮帮我,,
我将要制作android应用程序,但是由于致命的异常:main java.lang.NullPointerException应用程序没有保存数据,请在这里帮助我 这是我的EditNoteActivity 这是我的Logcat错误
我正在使用下面的代码从playstore中获取versionName,通过使用jsoup,我正在获取详细信息,但它会引发一些异常。 我的密码是 请有人帮我解决这个问题。