Java 海关优惠膨胀失败
我想做出自己的定制偏好。但当我使用包含自定义首选项的PreferenceFragment启动活动时,它会失败,并出现以下错误: 01-13 07:11:26.117 14403-14403/com.laudien.p1xelfehler.batterywarner_pro E/AndroidRuntime:致命异常:main 流程:com.laudien.p1xelfehler.batterywarner_pro,PID:14403 java.lang.RuntimeException:无法启动活动组件信息{com.laudien.p1xelfehler.batterywarner_pro/com.laudien.p1xelfehler.batterywarner.Activities.SettingsActivity.SettingsActivity}:android.view.InflateException:二进制XML文件行#42:膨胀类com.laudien.p1xelfehler.batterywarner.Activities.SettingsActivity.SliderPreference时出错 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646)上 位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707) 位于android.app.ActivityThread.-wrap12(ActivityThread.java) 在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)上 位于android.os.Handler.dispatchMessage(Handler.java:102) 位于android.os.Looper.loop(Looper.java:154) 位于android.app.ActivityThread.main(ActivityThread.java:6077) 位于java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)上 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) 导致原因:android.view.InflateException:二进制XML文件行#42:膨胀类com.laudien.p1xelfehler.batterywarner.Activities.SettingsActivity.SliderPreference时出错 位于android.preference.GenericInflater.createItem(GenericInflater.java:388) 位于android.preference.GenericInflater.createItemFromTag(GenericInflater.java:432) 位于android.preference.genericinflate.rInflate(genericinflate.java:483) 位于android.preference.genericinflate.rInflate(genericinflate.java:495) 在android.preference.GenericInflater.inflate(GenericInflater.java:327) 在android.preference.GenericInflater.inflate(GenericInflater.java:264) 在android.preference.PreferenceManager.inflateFromResource(PreferenceManager.java:280)中 位于android.preference.PreferenceFragment.addPreferencesFromResource(PreferenceFragment.java:326) 在com.laudien.p1xelfehler.batterywarner.Activities.SettingsActivity.NewSettingsFragment.onCreate上(NewSettingsFragment.java:14) 位于android.app.Fragment.performCreate(Fragment.java:2335) 在android.app.FragmentManagerImpl.moveToState(FragmentManager.java:949) 位于android.app.BackStackRecord.setLastIn(BackStackRecord.java:857) 在android.app.backbackRecord.CalculateFlagments上(backbackbackRecord.java:897) 运行(BackStackRecord.java:727) 位于android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1578) 在android.app.FragmentController.execPendingActions(FragmentController.java:371)中 位于android.app.Activity.performStart(Activity.java:6680) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2609)上Java 海关优惠膨胀失败,java,android,Java,Android,我想做出自己的定制偏好。但当我使用包含自定义首选项的PreferenceFragment启动活动时,它会失败,并出现以下错误: 01-13 07:11:26.117 14403-14403/com.laudien.p1xelfehler.batterywarner_pro E/AndroidRuntime:致命异常:main 流程:com.laudien.p1xelfehler.batterywarner_pro,PID:14403 java.lang.RuntimeException:无法启动
public class SliderPreference extends Preference {
@Override
protected View onCreateView(ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
return inflater.inflate(R.layout.preference_slider, parent, false);
}
public SliderPreference(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
protected void onClick() {
super.onClick();
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/textView_lowBattery"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Title"
android:textSize="18sp" />
<CheckBox
android:id="@+id/checkBox_lowBattery"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/enabled" />
<SeekBar
android:id="@+id/seekBar_lowBattery"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
public class NewSettingsFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
PreferenceManager.setDefaultValues(getActivity(), R.xml.preferences, false);
addPreferencesFromResource(R.xml.preferences);
}
<com.laudien.p1xelfehler.batterywarner.Activities.SettingsActivity.SliderPreference />
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public SliderPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
public SliderPreference(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public SliderPreference(Context context, AttributeSet attrs) {
super(context, attrs);
}
public SliderPreference(Context context) {
super(context);
}