web-dev-qa-db-ja.com

ViewPagerを使用しないTabLayout

TabLayoutを実装したいのは簡単だからですが、見つけたすべてのチュートリアルにはViewPagerが関係しています。 OnClickListenerのようなものが欲しいのですが、Addアイコンをクリックすると、「タブ1」を表示するトーストが表示され、カレンダーアイコンをクリックすると、表示されるトーストが表示されます「タブ2」

デバイスの回転を処理するので、TabLayoutを使用したいと思います。

Main_activity.Java

public class MainActivity extends AppCompatActivity {

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

    TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
    // Add five tabs.  Three have icons and two have text titles
    tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.add_live));
    tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.calendar_live));
    tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.group_live));
    tabLayout.addTab(tabLayout.newTab().setText("Send"));
    tabLayout.addTab(tabLayout.newTab().setText("Send & Post"));

}

}

activity_main.xml

<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
xmlns:app="http://schemas.Android.com/tools">

<Android.support.design.widget.TabLayout
    Android:id="@+id/tabs"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    app:tabMode="fixed"
    app:tabGravity="fill" />

</RelativeLayout>

見つけましたsetOnTabSelectedListener

    tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
        @Override
        public void onTabSelected(TabLayout.Tab tab) {
            if(tabLayout.getSelectedTabPosition() == 0){
                Toast.makeText(MainActivity.this, "Tab " + tabLayout.getSelectedTabPosition(), Toast.LENGTH_LONG).show();
            }else if(tabLayout.getSelectedTabPosition() == 1){
                Toast.makeText(MainActivity.this, "Tab " + tabLayout.getSelectedTabPosition(), Toast.LENGTH_LONG).show();
            }else if(tabLayout.getSelectedTabPosition() == 2){
                Toast.makeText(MainActivity.this, "Tab " + tabLayout.getSelectedTabPosition(), Toast.LENGTH_LONG).show();
            }else if(tabLayout.getSelectedTabPosition() == 3){
                Toast.makeText(MainActivity.this, "Tab " + tabLayout.getSelectedTabPosition(), Toast.LENGTH_LONG).show();
            }else if(tabLayout.getSelectedTabPosition() == 4){
                Toast.makeText(MainActivity.this, "Tab " + tabLayout.getSelectedTabPosition(), Toast.LENGTH_LONG).show();
            }
        }

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

        }

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

        }
    });
}