XMLでandroid.support.design.widget.TabLayoutを設定して
main.javaの方で
@Override
public void onCreate(final Bundle savedInstanceState) {
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.addTab(tabLayout.newTab().setText("test1").setTag(1)); tabLayout.addTab(tabLayout.newTab().setText("test2").setTag(2)); tabLayout.addTab(tabLayout.newTab().setText("test3").setTag(3));
}
// Activityが起動する時 @Override public void onStart() {
//TabLayout.OnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
TabLayout.OnTabSelectedListener OnTabSelectedListener = new TabLayout.OnTabSelectedListener() {
@Override public void onTabSelected(TabLayout.Tab tag) { //getTag()戻り値はインスタンスメソッドなのでオブジェクト型 Object obj = tag.getTag(); String objStr = obj.toString(); int value = new Integer(objStr).intValue(); switch (value) { case 1: test1画面に切り替え break; case 2: test2画面に切り替え break; case 3: test3画面に切り替え break; } } @Override public void onTabUnselected(TabLayout.Tab tag) { } @Override public void onTabReselected(TabLayout.Tab tag) { } };
・・・・・
}
と設定しました。
するとエラーは発生せずに画面が表示され(始めの起動ではtest1画面が表示)タブも無事表示されました。
しかしタブをクリックしてもtag.getTag();で最初に設定したtagの数字が取れませんでした。(デバックしても、ここで停止しない)
最初は、TabLayout.OnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
});
と書いていましたが、
Error:(2591, 18) エラー: シンボルを見つけられません
シンボル: メソッド OnTabSelectedListener(<anonymous OnTabSelectedListener>)
場所: クラス TabLayout
と表示されたので上記のTabLayout.OnTabSelectedListener OnTabSelectedListener = new TabLayout.OnTabSelectedListener() {
};
に書き換えたところです。
なぜタブをタップしても切り替わらないのでしょうか?
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/24 07:27
2017/01/24 07:31
2017/01/24 08:27
2017/01/24 08:36
2017/01/24 08:50
2017/01/24 08:55
2017/01/24 08:57
2017/01/24 09:08
2017/01/24 09:22
2017/01/24 09:24
2017/01/24 09:24
2017/01/24 09:27
2017/01/24 09:57
2017/01/24 10:07
2017/01/24 10:17
2017/01/24 10:42
2017/01/24 11:10 編集