2016-07-22 12 views
0

アプリ名の横にある矢印を削除するにはどうすればよいですか?また、スライドしているタブは機能していますが、タブ(tab1/tab2/tab3)をクリックすると、クリックイベントは機能しません。どうして?ナビゲーションアップボタンを除去するためのclickイベントが動作していません。どのように矢印を削除することができますか?スライディングタブは機能していますが、タブ(タブ1 /タブ2 /タブ3)をクリックするとどうなりますか?

public class MainActivity extends AppCompatActivity { 

    private Toolbar toolbar; 
    private TabLayout tabLayout; 
    private ViewPager viewPager; 
    private int[] tabIcons = {R.drawable.ic_action_home, 
      R.drawable.ic_action_categories, 
      R.drawable.ic_action_notification, 
      R.drawable.ic_action_profile}; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 
     getSupportActionBar().setTitle(R.string.my_tab_title); 
     getSupportActionBar().setIcon(R.mipmap.ic_launcher); 


     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

     viewPager = (ViewPager) findViewById(R.id.Viewpager); 
     setupViewPager(viewPager); 


     tabLayout = (TabLayout) findViewById(R.id.tabs); 
     tabLayout.setupWithViewPager(viewPager); 
     setupTabIcons(); 
    } 
    private void setupTabIcons() { 
     tabLayout.getTabAt(0).setIcon(tabIcons[0]); 
     tabLayout.getTabAt(1).setIcon(tabIcons[1]); 
     tabLayout.getTabAt(2).setIcon(tabIcons[2]); 
     tabLayout.getTabAt(3).setIcon(tabIcons[3]); 
    } 

    private void setupViewPager(ViewPager viewPager) { 
     ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager()); 
     adapter.addFragment(new OneFragment(), "ONE"); 
     adapter.addFragment(new TwoFragment(), "TWO"); 
     adapter.addFragment(new ThreeFragment(), "THREE"); 
     adapter.addFragment(new FourFragment(), "FOUR"); 
     viewPager.setAdapter(adapter); 
    } 

    class ViewPagerAdapter extends FragmentPagerAdapter { 
     private final List<Fragment> mFragmentList = new ArrayList<>(); 
     private final List<String> mFragmentTitleList = new ArrayList<>(); 


     public ViewPagerAdapter(FragmentManager manager) { 
      super(manager); 
     } 

     @Override 
     public Fragment getItem(int position) { 
      return mFragmentList.get(position); 
     } 

     @Override 
     public int getCount() { 
      return mFragmentList.size(); 
     } 

     public void addFragment(Fragment fragment, String title) { 
      mFragmentList.add(fragment); 
      mFragmentTitleList.add(title); 
     } 

     @Override 
     public CharSequence getPageTitle(int position) { 
      return null; 
     } 

    } 
} 
+1

getSupportActionBar()。setDisplayHomeAsUpEnabled(true);なぜあなたはバックボタンを持っているのですか?クリックがタブで機能していないということはどういう意味ですか? – Ramin

+0

特定のタブをクリックできませんが、タブ間をスワイプできます。 –

答えて

1

だけの行削除:

getSupportActionBarを()setDisplayHomeAsUpEnabled(真)。

+0

解決策が働いた –

0

あなたは、タブが選択されている場合、変更を有効にするには、このコードを追加する必要があります:ちょうど矢印をバック隠すために、以下の行を削除し、

tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { 
     @Override 
     public void onTabSelected(TabLayout.Tab tab) { 
      mViewPager.setCurrentItem(tab.getPosition()); 
     } 

     @Override 
     public void onTabUnselected(TabLayout.Tab tab) { 

     } 

     @Override 
     public void onTabReselected(TabLayout.Tab tab) { 

     } 
    }); 

をまた、上記の他の人によって提案されたよう:

getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

これは私があなたのコードから抜けていると思います。がんばろう!

+0

感謝Eenvincible、その後ろのナビゲーションの矢印のソリューションはちょうど働いたが、まだタブをクリックする際に問題があります。 –

+0

タブをクリックできるようにコードを追加しましたか? – Eenvincible

+0

はい私は与えられたコードを追加しました。 –

関連する問題