2013-09-23 54 views
1

我的應用程序有一個操作欄和片段。我使用tablistener的標籤來操作欄:類需要API級別11(當前最小爲7):android.app.ActionBar.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的支持-V6-appcompat.jar但產生這個錯誤: 類需要API級別11(當前分鐘是7):android.app.ActionBar.TabListener

你能幫我嗎?

非常感謝。

回答

2

您沒有使用該類的支持庫版本。導入android.support.v7.app.ActionBar而不是android.app.ActionBar來解決這個特定的問題。 (在那裏,因爲例如API級別7中不存在片段,所以也要更改其他android.app。)

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; 

關於動作條:

如果您正在使用程序兼容性庫,那麼你需要導入:

android.support.v7.app.ActionBar 

如果您正在使用ActionBarSherLock庫,然後你需要導入:

import com.actionbarsherlock.app.ActionBar; 
import com.actionbarsherlock.app.ActionBar.Tab; 
+1

感謝。現在它工作。 – user2641343

+1

如果它幫助你,那麼你應該投票/接受它作爲答案。 –

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; 
相關問題