我有一个带有自定义工具栏的android-studio应用程序。我使用带有按钮的工具栏布局,我用<'include>来调用它。在每一项活动中。我在xml中使用了android:onClick作为按钮。
问题是,我不知道如何连接我的按钮(位于我的工具栏布局中),因为我没有Java类。如果我创建一个Java类,我应该扩展它,我通常使用Activity / AppCompatActivity,但我的工具栏布局不是活动,当我单击模拟器中的按钮时应用程序崩溃。
那么我应该如何使按钮工作?
答案 0 :(得分:0)
你有不同的方法来做到这一点。我可以在伪代码中快速显示两种方式:
解决方案1:
布局活动:
<Coordinator>
<AppBarLayout>
<include layout="@layout/custom_toolbar"/>
</AppBarLayout>
</Coordinator>
布局工具栏:
<Toolbar id="@+id/toolbar">
<TextView id="@+id/tv_toolbar_title"/>
</Toolbar>
活动:
onCreate() {
toolbar = (Toolbar)findViewById(R.id.toolbar);
tvTitle = (TextView) findViewById(R.id.tv_toolbar_title);
setToolbar(toolbar);
//handle click on view if you want
}
解决方案2:
布局活动
<Coordinator>
<AppBarLayout>
<CustomToolbar id="@+id/customToolbar""/>
</AppBarLayout>
</Coordinator>
自定义工具栏类=&gt; CustomView
CustomToolbar extends Toolbar {
//find your views
}
布局自定义工具栏:
<merge>
<TextView id="@+id/tv_toolbar_title"/>
//other views needed
</merge>
在您的活动中,您将拥有自定义工具栏:
onCreate() {
toolbar = (CustomToolbar)findViewById(R.id.toolbar);
}