异常

异常

日志
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即可。