错误解决:android.view.InflateException: Binary XML file line #11: Error inflating class com.tony.timepicker.TimePicker
今天在做项目开发时遇到这么一个错误,完整的错误提示信息如下:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tony.timepicker/com.tony.timepicker.MainActivity}: android.view.InflateException: Binary XML file line #11: Error inflating class com.tony.timepicker.TimePicker
com.tony.timepicker.TimePicker类为一个自定义View类,内容如下:
package com.tony.timepicker; import java.util.Calendar; import android.content.Context;
import android.text.format.DateFormat;
import android.util.AttributeSet;
import android.widget.FrameLayout;
import android.widget.NumberPicker;
import android.widget.NumberPicker.OnValueChangeListener; public class TimePicker extends FrameLayout {
private NumberPicker mHourSpinner;
private NumberPicker mMinuteSpinner;
private Calendar mDate;
private int mHour, mMinute;
private String[] mDateDisplayValues = new String[7];
private OnTimeChangedListener mOnTimeChangedListener; public TimePicker(Context context) {
super(context);
init(context);
} public void init(Context context) {
mDate = Calendar.getInstance();
// android.widget.TimePicker
mHour = mDate.get(Calendar.HOUR_OF_DAY);
mMinute = mDate.get(Calendar.MINUTE); inflate(context, R.layout.time_picker, this); updateTimeControl(); mHourSpinner = (NumberPicker) this.findViewById(R.id.np_hour);
mHourSpinner.setMaxValue(23);
mHourSpinner.setMinValue(0);
mHourSpinner.setValue(mHour);
mHourSpinner.setOnValueChangedListener(mOnHourChangedListener); mMinuteSpinner = (NumberPicker) this.findViewById(R.id.np_minute);
mMinuteSpinner.setMaxValue(59);
mMinuteSpinner.setMinValue(0);
mMinuteSpinner.setValue(mMinute);
mMinuteSpinner.setOnValueChangedListener(mOnMinuteChangedListener);
} private NumberPicker.OnValueChangeListener mOnDateChangedListener = new OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
mDate.add(Calendar.DAY_OF_MONTH, newVal - oldVal);
updateTimeControl();
onTimeChanged();
}
}; private NumberPicker.OnValueChangeListener mOnHourChangedListener = new OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
mHour = mHourSpinner.getValue();
onTimeChanged();
}
}; private NumberPicker.OnValueChangeListener mOnMinuteChangedListener = new OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
mMinute = mMinuteSpinner.getValue();
onTimeChanged();
}
}; private void updateTimeControl() {
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(mDate.getTimeInMillis());
cal.add(Calendar.DAY_OF_YEAR, -7 / 2 - 1);
for (int i = 0; i < 7; ++i) {
cal.add(Calendar.DAY_OF_YEAR, 1);
mDateDisplayValues[i] = (String) DateFormat.format("MM.dd EEEE",
cal);
}
} public interface OnTimeChangedListener {
void onTimeChanged(TimePicker view, int year, int month, int day,
int hour, int minute);
} public void setOnTimeChangedListener(OnTimeChangedListener callback) {
mOnTimeChangedListener = callback;
} private void onTimeChanged() {
if (mOnTimeChangedListener != null) {
mOnTimeChangedListener.onTimeChanged(this,
mDate.get(Calendar.YEAR), mDate.get(Calendar.MONTH),
mDate.get(Calendar.DAY_OF_MONTH), mHour, mMinute);
}
}
}
经过在网上查找相关问题,找到问题的原因:
因为com.tony.timepicker.TimePicker类没有定义另外两个构造函数TimePicker(Context context, AttributeSet attrs)和TimePicker(Context context, AttributeSet attrs, int defStyle)导致的错误。
解决办法:
定义构造函数TimePicker(Context context, AttributeSet attrs)和TimePicker(Context context, AttributeSet attrs, int defStyle)。
错误解决:android.view.InflateException: Binary XML file line #11: Error inflating class com.tony.timepicker.TimePicker的更多相关文章
- Android项目部署时,发生AndroidRuntime:android.view.InflateException: Binary XML file line #168: Error inflating class错误
这个错误也是让我纠结了一天,当时写的项目在安卓虚拟机上运行都很正常,于是当我部署到安卓手机上时,点击登陆按钮跳转到用户主界面的时候直接结束运行返回登陆界面. 当时,我仔细检查了一下自己的代码,并 ...
- bug_ _ android.view.InflateException: Binary XML file line #2: Error inflating class <unknown
========= 5.0 android异常“android.view.InflateException: Binary XML file line # : Error inflating ...
- widget自定义控件【android.view.InflateException: Binary XML file line #2: Error inflating class...】
此错误比较难定位,场景是这样的:在一个widget中使用了自定义控件,始终会报 android.view.InflateException: Binary XML file line #2: Erro ...
- Caused by: android.view.InflateException: Binary XML file line #12: Error inflating class android.support.design.widget.TabLayout,TableLayout引起页面崩溃
在使用TableLayout的时候,运行引用程序直接Crash. FATAL EXCEPTION: main Process: com.edaixi.activity, PID: 9703 java. ...
- java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ex.activity/com.ex.activity.LoginActivity}: android.view.InflateException: Binary XML file line #1: Error inflating class
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ex.activity/com.ex.activity.L ...
- TextInputLayout低版本bug :“android.view.InflateException: Binary XML file line #6 : Error inflating class Textview”
开发中用到TextInputLayout配合TextInputEdittext做输入框,在android7.0 android8.0手机上运行正常,在异步android5.0.2的手机上,点击输入框就 ...
- android.view.InflateException: Binary XML file line #34: Error inflating class
问题一般出在xml的第三方View的全类名,你可能是直接粘贴过来的,没有改成自己项目的全类名.
- 【Android开发实践】android.view.InflateException: Binary XML file line #12: Error inflating class fragment问题解决
一般出现的原因是fragment引入的包错了,应该是import android.app.ListFragment;而不是import android.support.v4.app.ListFragm ...
- Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class android.sup
解决:找不到资源文件: 系统会根据分辨率来选择加载不同drawable下文件夹的资源,如果只在一个文件下放了资源文件,不同的分辨率设备的会报错.
随机推荐
- source vimrc的时候报错:.vimrc:1: command not found: syntax
vim的配置如下: 1 syntax enable //语法高亮 2 set number //显示行号 3 set cursorline //突出显示当前行 4 set ruler //打开状态栏标 ...
- 通过组件实现相同group下字符串拼接
实现效果 组件处理流程如下: 1 使用Sorter组件对ColA进行排序 2 使用expression组件进行如下配置 3 使用aggregate组件进行如下配置 ColA ...
- ASP.NET Core基于K8S的微服务电商案例实践--学习笔记
摘要 一个完整的电商项目微服务的实践过程,从选型.业务设计.架构设计到开发过程管理.以及上线运维的完整过程总结与剖析. 讲师介绍 产品需求介绍 纯线上商城 线上线下一体化 跨行业 跨商业模式 从0开始 ...
- PlayJava Day008
今日所学: /* 2019.08.19开始学习,此为补档. */ 1.包装类:对基本数据类型进行封装,使其具有属性和方法. Integer s1 = new Integer(123) ; Intege ...
- H265码流分析
H265相比较于H264,除了包含SPS.PPS外,还多包含一个VPS:在NALU header上,H.264的HALU header是一个字节,而H.265则是两个字节. 以OX4001为例,头信息 ...
- SpringBoot(八) SpringBoot整合Kafka
window下安装kafka和zooker,超详细:https://blog.csdn.net/weixin_33446857/article/details/81982455 kafka:安装下载教 ...
- 初识HTML_表单
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- js addEventListener事件多次绑定问题
如果为了避免 js addEventListener事件多次绑定问题,可以使用.onclick直接绑定,后一次click绑定会覆盖调前一次.
- html5+css+js简单了解
最近敲了敲HTML5的代码,感觉真的是很吸引人的东西,反正我是非常喜欢的,所以想写一点关于HTML的东xi首先呢我了解的不多,所以也是想写一点点我对它的认识.说起HTML5是打开Pycharm敲pyt ...
- mac odoo 12 虚拟环境搭建及 依赖安装
经过这几天的折腾,odoo 12 的虚拟环境总算搭建成了.网站有很多虚拟环境相关的搭建,但是都是写文章的自己清楚,但是文章里却描述不清楚. odoo 虚拟环境 这次搭建环境使用 odoo 12.0. ...