简述
在布局文件中引入自定义View时报错,报错信息如下。
常规的解决办法
1、检查代码是否报错;点击自定义控件名称能否跳转到该文件下;资源文件是否存在。
2、检查自定义控件是否实现父类中的所有构造方法。
无敌解决办法,在其它常规方法都无效的情况下使用
首先之所以会报错,就是因为自定义控件引起的,但是具体的报错信息又没有抛出来你就无法明确的定位到那一行代码,这一点对程序员来说是痛苦的。那么我们有没有什么办法能够直接定位到自定义控件在那一行报错了呢?当前有,我们可以新建一个activity的测试类,把在layout中直接引入的控件修改为用代码增加控件的方式?
public class TestActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout layout = new LinearLayout(this);
MeasureToolView toolView = new MeasureToolView(this,null);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
layout.addView(toolView,params);
setContentView(layout);
}
}
最后,运行代码检查控件中报错的信息,解决报错信息。