我在Android中以这种方式定义了TabListener:
public static class TabListener<T extends Fragment>
implements ActionBar.TabListener { ... }
我有这个源代码:
Tab myTab = myActionBar.
newTab().
setText("Home").
setTabListener(new TabListener<MyFragment>(
this,
"Home",
MyFragment.class
));
...
现在,我想将其放入方法中:
addTab("Home", ???);
private void addTab(String text, ???) {
Tab myTab = myActionBar.
newTab().
setText(text).
setTabListener(new TabListener<???>(
this,
text,
???.class
));
...
}
我必须填写什么而不是
???
? 最佳答案
您的标签页侦听器需要将type参数作为Fragment
的子类
public static class TabListener<T extends Fragment>
因此,您需要确保代码中确实如此
addTab("Home", ???);
private <T extends Fragment> void addTab(String text, Class<T> clazz) {
Tab myTab = myActionBar.
newTab().
setText(text).
setTabListener(new TabListener<T>(
this,
text,
clazz
));
...
}