質問: Integer.valueOf(TabLayout.Tab.getTag()); switch (fValue) { 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,test2,test3と名前をつけ、それぞれにtagの数字を与えました。 その後 onStart()以降でタップしたタグを感知してtagの数字を取得してswitchするというふうに書きたいです。 上記まで仕上げましたが、 エラー: staticでないメソッド getTag()をstaticコンテキストから参照することはできません となりました。調べたところgetTag()はインスタンスメソッドで非staticだと判明しました。 対処方法も調べたところgetTag()をstatic宣言すれば直ると突き止めました。しかしいろいろな場所でstatic宣言してみたのですが、うまくいきません。 呼び出し先メソッドを含むクラスをインスタンス化した上でメソッドを呼び出そうとも考えましたが、newしても特に意味がありませんでした。 解説よろしくお願いいたします。
回答: ×TabLayout.Tab.getTag() ○tag.getTag() インスタンスに対して操作せんと