异常的出现情况及解决方式(持续更新中)

2022-12-19 12:46:44 浏览数 (2)

tips:快速查阅 ctrl F 输入关键字(异常名字)查找。

1.Caused by: android.view.InflateException: Binary XML file line #7: Error inflating class fragment

2.Caused by: java.lang.RuntimeException: Binary XML file line #46: You must supply a layout_width attribute.

看原因可知  这里是文件有问题,找到对应的行数就可以了。

3.FATAL EXCEPTION: main Process: com.belongsoft.cloudhelpstudent, PID: 19126 

android.content.res.Resources$NotFoundException: String resource ID #0xc9 at android.content.res.Resources.getText(Resources.java:244) 

at android.widget.TextView.setText(TextView.java:3888) 

at com.belongsoft.cloudhelpstudent.adapter.VoteListAdapter.getView(VoteListAdapter.java:94)

这里的错误是因为 在VoteListAdapter的94行 settext里面 设置是的 int 类型的值

4.android.os.NetworkOnMainThreadException

造成这样的错误原因是代码不符合Android规范,如果把上面访问方式改为异步操作就不会出现在4.0上访问出现 android.os.NetworkOnMainThreadException异常.

如:把网络请求放到AsyncTask里面去。

代码语言:javascript复制
new LoadAsyncTak().execute(mWebUrl);

代码语言:javascript复制
class LoadAsyncTak extends AsyncTask<String, Void, Void> {

    @Override
    protected Void doInBackground(String... params) {
        mDatas = GetDataFromWebUtils.getDatasFromWeb(params[0]);
        Log.e("mDatas.size()====", String.valueOf(mDatas.size()));
        return null;
    }
    
}

代码语言:javascript复制
5.java.lang.reflect.InvocationTargetException
代码语言:javascript复制
xml中引用的自定义的view出错导致的

代码语言:javascript复制
6.java.lang.IllegalStateException

i) Immutable bitmap passed to Canvas constructor  

代码语言:javascript复制
mBgBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.test);
mCanvas = new Canvas(mBgBitmap);

这种情况报这异常 是因为传了一个不变的bitmap给了canvas的构造函数。

7. android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application

i) 在MyApplication.java里面添加了弹框操作。 

8. java.lang.NullPointerException

1).自定义view的时候在ondraw方法中最后一次参数穿了null.就像下面的代码。就会报空指针。

代码语言:javascript复制
canvas.drawCircle(getWidth() / 2, getHeight() / 2, mRadius, null);
代码语言:javascript复制
改正方法只需new一个paint对象传进去就好了

0 人点赞