我的工具栏的自定义布局与按钮。我应该为它创建一个JavaClass吗?

时间:2017-02-14 17:26:00

标签: java android android-layout android-toolbar

我有一个带有自定义工具栏的android-studio应用程序。我使用带有按钮的工具栏布局,我用<'include>来调用它。在每一项活动中。我在xml中使用了android:onClick作为按钮。

问题是,我不知道如何连接我的按钮(位于我的工具栏布局中),因为我没有Java类。如果我创建一个Java类,我应该扩展它,我通常使用Activity / AppCompatActivity,但我的工具栏布局不是活动,当我单击模拟器中的按钮时应用程序崩溃。

那么我应该如何使按钮工作?

1 个答案:

答案 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);

}