2017-02-14 62 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); 

} 
相關問題