2016-11-05 32 views
-3

嗨,我正在使用roughike Bottombar,我想用5個不同的Tabs創建一個OnTabSelectedListener。目前它使用3個不同的Tabs,但是當我想添加一個4或5選項卡時,我找不到Tab的特定ID。找不到具體的ID - Android Java

我的代碼看起來像現在這種權利:

bbMainNavigation.setOnTabSelectListener(new OnTabSelectListener() { 
     @Override 
     public void onTabSelected(@IdRes int tabId) { 
      Fragment fMainContent = null; 

      if (tabId == R.id.tBarFriends) { 
       cMainFragment = FriendsFragment.class; 
      } else if (tabId == R.id.tBarMessage) { 
       cMainFragment = MessagesFragment.class; 
      } else if (tabId == R.id.tBarRadar) { 
       cMainFragment = RadarFragment.class; 
      } else if (tabId == R.id.tBarAccount){ 
       cMainFragment = AccountFragment.class; 
      } 

我與標籤XML看起來像:

<?xml version="1.0" encoding="utf-8"?> 

<resources> 

    <tabs> 

     <tab 
      icon="@drawable/friends" 
      id="@+id/tBarFriends" 
      title="Friends" /> 

     <tab 
      icon="@drawable/message" 
      id="@+id/tBarMessage" 
      title="Message" /> 

     <tab 
      icon="@drawable/radar" 
      id="@+id/tBarRadar" 
      title="Radar" /> 

     <tab 
      icon="@drawable/account" 
      id="[email protected]/tBarAccount" 
      title="Account" /> 

     <tab 
      icon="@drawable/settings" 
      id="[email protected]/tab_settings" 
      title="Settings" /> 
    </tabs> 

</resources> 

如果我嘗試運行我得到的foll代碼由於錯誤:

Error:(40, 41) error: cannot find symbol variable tBarAccount

我希望你們能幫助我

+0

比較你的最後兩個'id's在XML中的那些以上。你已經有'+'和'@'換了 - 'id =「+ @ id/tBarAccount」'。 –

回答

2
<tab 
     icon="@drawable/account" 
     id="@+id/tBarAccount"   <<'+' must be after '@' 
     title="Account" /> 

    <tab 
     icon="@drawable/settings" 
     id="@+id/tab_settings"  <<'+' must be after '@' 
     title="Settings" /> 
+0

謝謝,我已經忽略了它:D – user5985727