Android 转换为ActionBarSherlock

Android 转换为ActionBarSherlock,android,android-fragments,actionbarsherlock,android-tabs,Android,Android Fragments,Actionbarsherlock,Android Tabs,编辑:找到解决方案!对于希望做同样事情的人,我发现下面有一个更好的教程: 这是非常基本的,展示了如何使用ABS设置带有片段的选项卡,以防其他人感兴趣 我将按照教程在这里实现选项卡和片段: 我在将其转换为旧版本的Android时遇到了一些问题;我的目标是最低水平的姜饼,所以我必须使用ActionBarSherlock。即使我试图复制TabActionBarActivity.java类,也会出现错误。(我也不确定如何处理片段的其他两个类,但稍后我将处理它们) 导入android.app.Fragme

编辑:找到解决方案!对于希望做同样事情的人,我发现下面有一个更好的教程: 这是非常基本的,展示了如何使用ABS设置带有片段的选项卡,以防其他人感兴趣

我将按照教程在这里实现选项卡和片段:

我在将其转换为旧版本的Android时遇到了一些问题;我的目标是最低水平的姜饼,所以我必须使用ActionBarSherlock。即使我试图复制TabActionBarActivity.java类,也会出现错误。(我也不确定如何处理片段的其他两个类,但稍后我将处理它们)

导入android.app.FragmentTransaction;
导入android.os.Bundle;
导入com.actionbarsherlock.app.ActionBar;
导入com.actionbarsherlock.app.ActionBar.Tab;
导入com.actionbarsherlock.app.SherlockActivity;
导入com.actionbarsherlock.app.SherlockFragment;
导入com.actionbarsherlock.view.Menu;
导入com.actionbarsherlock.view.MenuInflater;
公共类TabActionBarActivity扩展了SherlockActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
ActionBar ActionBar=getSupportActionBar();
actionBar.setNavigationMode(actionBar.NAVIGATION\u MODE\u选项卡);
String label1=getResources().getString(R.String.label1);
Tab=actionBar.newTab();
tab.setText(标签1);
TabListener t1=新的TabListener(这是标签1,Tab1Fragment.class);
tab.setTabListener(t1);
actionBar.addTab(tab);
String label2=getResources().getString(R.String.label2);
Tab=actionBar.newTab();
tab.setText(标签2);
TabListener t2=新的TabListener(this,label2,Tab2Fragment.class);
tab.setTabListener(t2);
actionBar.addTab(tab);
}
私有类TabListener
实现com.actionbarsherlock.app.ActionBar.TabListener{
私人夏洛克碎片;
私人最终夏洛克活动;
私有最终字符串mTag;
私人期末班;
公共TabListener(SherlockActivity活动、字符串标记、类clz){
活动性=活动性;
mTag=标签;
mClass=clz;
}
已选择的公共事务(选项卡,碎片事务ft){
//检查片段是否已初始化
if(mFragment==null){
//如果不是,则实例化并将其添加到活动中
MFFragment=Fragment.instantiate(mActivity,mClass.getName());
ft.add(android.R.id.content、mFragment、mTag);
}否则{
//如果存在,只需将其附加以显示即可
ft.attach(mFragment);
}
}
已选择公共空页(选项卡,碎片事务ft){
if(mFragment!=null){
//拆下碎片,因为正在连接另一个碎片
ft.分离(mFragment);
}
} 
已重新选择公共无效页签(页签,碎片事务){
//用户选择了已选择的选项卡。通常不执行任何操作。
}
}
}
我在两行上有一个错误,如下所示:

TabListener<Tab1Fragment> t1 = new TabListener<Tab1Fragment>(this, label1, Tab1Fragment.class);
TabListener t1=新的TabListener(这个,标签1,Tab1Fragment.class);
这表示“tablistenert1=newtablistener(this,label1,Tab1Fragment.class);”我假设在修复代码的后一部分时,这将被清除


与选择/取消选择选项卡有关的方法中存在错误,我不确定如何修复这些错误。有什么建议吗?

只要确保您正在导入

import android.support.v4.app.FragmentTransaction;
而不是

import android.app.FragmentTransaction;

如果您的实现片段管理器需要这样调用它

FragmentManager fm = this.getSupportFragmentManager();
而不是

getFragmentManager();
import android.app.FragmentManager;
并使用此导入

import android.support.v4.app.FragmentManager;
而不是

getFragmentManager();
import android.app.FragmentManager;

请发布您正在接收的银行的错误消息,该消息清除了一些问题。行中仍然有一个错误:mFragment=Fragment.instantiate(mActivity,mClass.getName());如果我试图从android.support.v4.app导入片段,就会得到类型不匹配。有什么想法吗?