Sat*_*eya 6 android butterknife
我正在使用Butterknife为工具栏注入视图.但该方法getSupportActionBar(toolbar)抛出空指针异常,不幸的是app停止了.可以做些什么来解决这个问题?我使用的是Android 4.2.那么,使用Butterknife和Jellybean有什么问题吗?
主要活动
public class MainActivity extends AppCompatActivity {
@BindView(R.id.tool_bar_demo)
Toolbar toolbar;
@BindDrawable(R.drawable.backspace)
Drawable backspace_btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
setSupportActionBar(toolbar);
toolbar.setTitle("ABC");
}
}
Run Code Online (Sandbox Code Playgroud)
activity_main
<android.support.v7.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="58dp"
android:id="@+id/tool_bar_demo"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
android:titleTextColor="@color/colorAccent"
/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
gradle这个
minSdkVersion 15
targetSdkVersion 23
apply plugin: 'com.neenbedankt.android-apt'
compile 'com.android.support:design:23.4.0'
compile 'com.jakewharton:butterknife:8.0.1'
apt 'com.jakewharton:butterknife-compiler:8.0.1'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
Run Code Online (Sandbox Code Playgroud)
这似乎是Butterknife的问题。
从该问题中收集到的要点是:
Butter Knife 只是 findViewById 上的糖,这就是找不到视图的原因。正如我所说,确保布局位于 main_activity 中,或者确保将具有该 ID 的工具栏放入 main_activity 布局中。
另一条评论说: 如果我为我的包含设置一个 id,如下所示:
<include
android:layout_width="match_parent"
android:layout_height="wrap_content"
layout="@layout/toolbar"
android:id="@+id/include4" />
Run Code Online (Sandbox Code Playgroud)
那是行不通的。但如果我删除它就android:id="@+id/include4"可以了。从版本 7.0.1 开始,将 ID 添加到包含会导致找不到视图。
问题链接: butterknife的id问题
| 归档时间: |
|
| 查看次数: |
483 次 |
| 最近记录: |