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

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 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退