ackage com.example.studytest03;
import android.app.ActionBar;
import android.app.Activity;
import android.app.FragmentTransaction;
import androidx.fragment.app.Fragment;
/*
实现各个标签页之间的切换的
*/
public class myTabListener implements ActionBar.TabListener {
private final Activity activity;//用来指定要加载的activity
private final Class aClass;//用来指定加载的Fragment所对应的类
private Fragment fragment;//用来定义Fragment对象
public myTabListener(Activity activity, Class aClass) {
this.activity = activity;
this.aClass = aClass;
}
//被选择时
@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
if(fragment==null){
fragment=Fragment.instantiate(activity,aClass.getName());
ft.add(android.R.id.content.fragment,null);
}
ft.attach(fragment);//现实新页面
}
//退出选择状态
@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {
if(fragment!=null){
ft.detach(fragment);//删除旧页面
}
}
@Override
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {
}
}
package com.example.studytest03;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import android.os.Bundle;
public class MainActivity2 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
//设置actionbar为选项卡模式,并将标签页面添加到actionbar中
ActionBar actionBar=getSupportActionBar();//获取actionbar对象
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);//设置actionbar为选项卡模式
actionBar.setDisplayOptions(0,ActionBar.DISPLAY_SHOW_TITLE);//隐藏标题栏
actionBar.addTab(actionBar.newTab().setText("词典").
setTabListener((ActionBar.TabListener) new myTabListener(this, Fragment1.class)));//添加第一个标签栏
actionBar.addTab(actionBar.newTab().setText("百科").
setTabListener((ActionBar.TabListener) new myTabListener(this, Fragment2.class)));
actionBar.addTab(actionBar.newTab().setText("我的").
setTabListener((ActionBar.TabListener) new myTabListener(this, Fragment3.class)));
}
}
为什么这里报错啊?
我就是想写一个只有tab导航的actionbar,为什么这里报错啊?我哪里写错了?求解,详解必采纳