Double伟- 2019-09-20 16:20 采纳率: 66.7%
浏览 1105
已采纳

android 错误: 不兼容的类型: ImageFragment无法转换为Fragment

package com.example.actionbar;

import android.app.ActionBar;
import android.app.Activity;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v4.app.Fragment;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

     final ActionBar actionBar =getActionBar();
     actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
     actionBar.setDisplayShowTitleEnabled(false);

      TextFragment aFragment =new TextFragment();
    ActionBar.Tab tab1=actionBar.newTab();
    tab1.setText("文字");
    tab1.setIcon(R.drawable.ic_launcher_foreground);
    tab1.setTabListener(new ListenerA(aFragment));
    actionBar.addTab(tab1);

    ImageFragment bFragment = new ImageFragment();
    ActionBar.Tab tab2 = actionBar.newTab();
    tab2.setText("图片");
    tab2.setTabListener(new  Listenerb(bFragment));
    actionBar.addTab(tab2);
}
private  class ListenerA implements ActionBar.TabListener {
     private TextFragment mFragemnt;
    public ListenerA(TextFragment fragment) {
        mFragemnt =fragment;
    }

    @Override
    public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
        ft.add(R.id.fragment_content, mFragemnt, null);
    }

//mFragemnt 这出错 下面的也爆红
@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {
ft.remove(mFragemnt);
}

    @Override
    public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {

    }
}


private class Listenerb implements ActionBar.TabListener {
    private  ImageFragment ImFragment;
    public Listenerb(ImageFragment fragment) {

        ImFragment =fragment ;
    }


    public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
        ft.add(R.id.fragment_content, ImFragment, null);
    }

//ImFragment 这出错 下面的也爆红

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

    @Override
    public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {
    }
}

}

  • 写回答

1条回答 默认 最新

  • zqbnqsdsmd 2019-10-02 09:40
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题