异常
一
日志
Only the original thread that created a view hierarchy can touch its views.
分析
仅创视图层次结构原始线程才能触摸其视图。
解决
Hander消息传递机制。
二
日志
java.lang.NoSuchFieldError
分析
主项目xml文件名同库项目xml文件名(主项目覆盖库项目xml文件)致库项目找不到xml相关id报错。
解决
改主项目xml文件名(不同库项目xml文件名)防文件冲突。
三
场景
toolbar
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:elevation="@dimen/dp_3"
android:theme="@style/AppTheme.ToolBar"
app:contentInsetStart="@dimen/dp_0"
app:titleTextAppearance="@style/AppTheme.ToolbarTitle"
tools:targetApi="lollipop" />
主布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/blue">
<include
android:id="@+id/fragmentToolChildToolbar"
layout="@layout/toolbar" />
......
</RelativeLayout>
日志
java.lang.IllegalStateException: Required view 'toolbar' with ID 2131296795 for field 'toolbar' was not found. If this view is optional add '@Nullable' (fields) or '@Optional' (methods) annotation.
分析
include标签会把其id、layout_width、layout_height、visibility等属性覆盖到标签内layout根节点。故因主布局android:id="@+id/fragmentToolChildToolbar"
覆盖toolbar之android:id="@+id/toolbar"
致错。
解决
用include标签id即可。