Android:TabListener,未实现的方法

时间:2013-06-16 03:38:29

标签: android android-fragments android-actionbar android-tabs

我的主要活动中有一个MyTabsListener类,如下所示:

标签监听器类:

class MyTabsListener implements ActionBar.TabListener {
    public Fragment frag = new Fragment();

    public MyTabsListener(Fragment fragment) {
        this.frag = fragment;
    }

    public void onTabReselected(Tab tab, FragmentTransaction ft) {
        Toast.makeText(JSONActivity.appContext, "Reselected!", Toast.LENGTH_LONG).show();
    }

    public void onTabSelected(Tab tab, FragmentTransaction ft) {
        ft.replace(R.id.fragment_container, frag);
    }

    public void onTabUnselected(Tab tab, FragmentTransaction ft) {
        ft.remove(frag);
    }


}

我在导入fragment,fragmenttransaction等时使用了support.v4库。

然而,eclipse告诉我: MyTabsListener类型必须实现继承的抽象方法ActionBar.TabListener.onTabSelected(ActionBar.Tab,FragmentTransaction)

我该如何解决这个问题?如果我将类签名更改为:

public void onTabSelected(Tab tab, android.app.FragmentTransaction ft)

例如,方法ft.replaceft.remove会给我一个错误。

我的导入是:

import android.os.Bundle;
import java.io.BufferedReader;
import java.io.IOException;
import android.annotation.SuppressLint;
import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.Activity;
import android.content.Context;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.HashMap;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONObject;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTransaction;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.widget.Toast;
import android.os.AsyncTask;

有什么想法吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

我认为您不能将支持库(Fragment *)与标准库(ActionBar *)混合使用。 Google尚未发布ActionBar的兼容性库,因此请考虑使用ActionBarSherlock