我的应用有一个操作栏和片段。我使用tablistener将标签添加到操作栏:
package com.infomercados.appinfomercados;
import android.app.ActionBar;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.app.ActionBar.Tab;
import android.util.Log;
public class TabListener implements ActionBar.TabListener {
private Fragment fragment;
public TabListener(Fragment fg)
{
this.fragment = fg;
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
Log.i("ActionBar", tab.getText() + " reselected.");
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
Log.i("ActionBar", tab.getText() + " selected.");
ft.replace(R.id.container, fragment);
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
Log.i("ActionBar", tab.getText() + " no selected.");
ft.remove(fragment);
}
}
我想适应早期版本,我添加了android-support-v6-appcompat.jar,但产生了这个错误: 类需要API级别11(当前最小值为7):android.app.ActionBar.TabListener
你能帮助我吗?
非常感谢。
答案 0 :(得分:11)
您没有使用支持类库。
例如:
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
关于ActionBar:
如果您使用的是AppCompat库,则需要导入:
android.support.v7.app.ActionBar
如果您使用的是ActionBarSherLock库,则需要导入:
import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.app.ActionBar.Tab;
答案 1 :(得分:2)
您没有使用该类的支持库版本。导入android.support.v7.app.ActionBar
而不是android.app.ActionBar
来修复此特定问题。 (在那里,也会更改您的其他android.app
导入,因为例如API级别7中没有片段。)
答案 2 :(得分:0)
正确的答案是,使用支持库,如:
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBar.Tab;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTransaction;