2013-09-28 22 views
1

我剛剛完成加入V7支持libary到我的項目,現在我得到這些錯誤:方法setTabListener是不適用

Description Resource Path Location Type 
The method setTabListener(ActionBar.TabListener) in the type ActionBar.Tab is not applicable for the arguments (ActionBar.TabListener) TabsViewPagerFragmentActivity.java /LoginAndRegistration/src/com/example/loginandregistration line 76 Java Problem 
The method setTabListener(ActionBar.TabListener) in the type ActionBar.Tab is not applicable for the arguments (ActionBar.TabListener) TabsViewPagerFragmentActivity.java /LoginAndRegistration/src/com/example/loginandregistration line 80 Java Problem 
The type new ActionBar.TabListener(){} must implement the inherited abstract method ActionBar.TabListener.onTabUnselected(ActionBar.Tab, FragmentTransaction) TabsViewPagerFragmentActivity.java /LoginAndRegistration/src/com/example/loginandregistration line 52 Java Problem 
The type new ActionBar.TabListener(){} must implement the inherited abstract method ActionBar.TabListener.onTabReselected(ActionBar.Tab, FragmentTransaction) TabsViewPagerFragmentActivity.java /LoginAndRegistration/src/com/example/loginandregistration line 52 Java Problem 
The type new ActionBar.TabListener(){} must implement the inherited abstract method ActionBar.TabListener.onTabSelected(ActionBar.Tab, FragmentTransaction) TabsViewPagerFragmentActivity.java /LoginAndRegistration/src/com/example/loginandregistration line 52 Java Problem 
The method setTabListener(ActionBar.TabListener) in the type ActionBar.Tab is not applicable for the arguments (ActionBar.TabListener) TabsViewPagerFragmentActivity.java /LoginAndRegistration/src/com/example/loginandregistration line 72 Java Problem 

這裏是我的TabsViewPagerFragmentActivity.java:

package com.example.loginandregistration; 

import android.app.ActionBar.Tab; 
import android.app.FragmentManager; 
import android.app.FragmentTransaction; 
import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 
import android.support.v4.view.ViewPager; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentPagerAdapter; 
import android.support.v4.content.LocalBroadcastManager; 
import com.example.loginandregistration.MyPageAdapter; 
import android.support.v7.app.ActionBar; 

class TabsViewPagerFragmentActivity extends FragmentActivity { 

// Declare Variables 
android.app.ActionBar ActionBar; 
ViewPager mPager; 
Tab tab; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    // Get the view from dashboard.xml 
    setContentView(R.layout.dashboard); 

    // Activate Navigation Mode Tabs 
    ActionBar = getActionBar(); 
    ActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

    // Locate ViewPager in dashboard.xml 
    mPager = (ViewPager) findViewById(R.id.pager); 

    // Capture ViewPager page swipes 
    ViewPager.SimpleOnPageChangeListener ViewPagerListener = new ViewPager.SimpleOnPageChangeListener() { 
     @Override 
     public void onPageSelected(int position) { 
      super.onPageSelected(position); 
      // Find the ViewPager Position 
      ActionBar.setSelectedNavigationItem(position); 
     } 
    }; 

    mPager.setOnPageChangeListener(ViewPagerListener); 
    // Locate the adapter class called ViewPagerAdapter.java 
    MyPageAdapter viewpageradapter = new MyPageAdapter(getSupportFragmentManager()); 
    // Set the View Pager Adapter into ViewPager 
    mPager.setAdapter(viewpageradapter); 

    // Capture tab button clicks 
    ActionBar.TabListener tabListener = new ActionBar.TabListener() { 

     public void onTabSelected(Tab tab, FragmentTransaction ft) { 
      // Pass the position on tab click to ViewPager 
      mPager.setCurrentItem(tab.getPosition()); 
     } 

     public void onTabUnselected(Tab tab, FragmentTransaction ft) { 
      // TODO Auto-generated method stub 
     } 

     public void onTabReselected(Tab tab, FragmentTransaction ft) { 
      // TODO Auto-generated method stub 
     } 

    }; 



    // Create first Tab 
    tab = ActionBar.newTab().setText("Tab1").setTabListener(tabListener); 
    ActionBar.addTab(tab); 

    // Create second Tab 
    tab = ActionBar.newTab().setText("Tab2").setTabListener(tabListener); 
    ActionBar.addTab(tab); 

    // Create third Tab 
    tab = ActionBar.newTab().setText("Tab3").setTabListener(tabListener); 
    ActionBar.addTab(tab); 

} 

} 

我有不知道如何解決setTabListener錯誤,但錯誤:

The type new ActionBar.TabListener() ect. 

當我添加unim我注意到它們和我的onTabSelected,onTabUnselected,onTabReselected方法一樣。

我該如何解決這個問題?

回答

2

import android.support.v7.app.ActionBar.Tab; 
import android.support.v4.app.FragmentManager; 
import android.support.v4.app.FragmentTransaction; 

替代進口

import android.app.ActionBar.Tab; 
import android.app.FragmentManager; 
import android.app.FragmentTransaction; 

有一組獨立的關類支持庫。

編輯

您還需要與

ActionBar ActionBar; 

更換

android.app.ActionBar ActionBar; 

使用支持庫行動吧。另外,也許最好使用小寫字母actionBar作爲變量名稱,以使其與類名稱不同。

+0

我現在有錯誤:「ActionBar類型中的方法addTab(ActionBar.Tab)不適用於ActionBar.Tab類型中的參數(ActionBar.Tab)」和「方法setTabListener(ActionBBar.TabListener)」不適用於參數(ActionBar.TabListener)「在類的底部創建選項卡時。 – user1628978

+0

檢查我編輯的答案。 – Szymon

+0

謝謝,對不起LAST錯誤承諾... 當我改變了它,它修復了我所有的錯誤,並給了我一個新的(好玩嗎?),即「ActionBar = getActionBar();未定義」。所以爲了使它使用支持庫(我只是發現這在網上查找)我改變了「= getActionBar()」=「= getSupportActionBar()」,但現在它給了我這個方法未定義的錯誤。那麼如何解決最後的錯誤(希望)? – user1628978

0

確保你是實施ActionBar.TabListener。這是引用該實現,而不是片段/活動本身。

相關問題