与泛型的绑定不匹配:该类型不是有界参数的有效替代

时间:2014-02-25 21:09:56

标签: generics android-fragments subclassing facebook-sdk-3.0 package-private

错误是“绑定不匹配:UserSettingsFragment类型不是TabListener类型的有界参数的有效替代”,它出现在UserSettingsFragment的参数化上。

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedBundleInstance) {
        super.onCreate(savedBundleInstance);

        // Set up the action bar.
        final ActionBar actionBar = getActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
        Tab tab1 = actionBar.newTab().setText("One");


        tab1.setTabListener(new TabListener<UserSettingsFragment>(this, "UserSettingsFragment", UserSettingsFragment.class));

        actionBar.addTab(tab1); 
        //actionBar.addTab(settingsTab);
    }
}

以下是相关的班级签名:

public class TabListener<T extends Fragment> implements ActionBar.TabListener {...}
private class FacebookFragment extends Fragment {...}
public class UserSettingsFragment extends FacebookFragment {...}

请注意,Facebook SDK中的FacebookFragment是私有,因此“不打算被外部应用程序使用”。是否有某种规则不允许在此实例中参数化正确子类的子类?

谢谢!

0 个答案:

没有答案