2017-02-14 46 views
-1

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

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

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

+0

您必须在每个活动中定义onClick方法。 – tahsinRupam

回答

0

你有不同的方式来做到这一点。我可以显示在伪码快2种方式:

解决方案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 
} 

SOLU重刑2:

布局活性

<Coordinator> 
     <AppBarLayout> 
      <CustomToolbar id="@+id/customToolbar""/> 
     </AppBarLayout> 
</Coordinator> 

自定义工具栏类=> CustomView

CustomToolbar extends Toolbar { 
    //find your views 


} 

布局自定义工具栏:

<merge> 
     <TextView id="@+id/tv_toolbar_title"/> 
//other views needed 
</merge> 

在您的活动,您将有customtoolbar:

onCreate() { 
    toolbar = (CustomToolbar)findViewById(R.id.toolbar); 

} 
相关问题