java - Android 错误 : type mismatch cannot convert from android. app.actionbar 到 android.support.v7.app.actionbar

标签 java android eclipse android-fragments

我目前遇到错误:

type mismatch cannot convert from android.app.actionbar to android.support.v7.app.actionbar

错误发生在 actionBar=getActionBar(); 上。

我想知道这是否与我的导入文件有关,或者可能与我如何设置 fragment XML 文件有关?这是我的相关代码:

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBar.Tab;
import android.support.v7.app.ActionBar.TabListener;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.Toast;

public class Main_activity extends FragmentActivity implements TabListener {

    public static final String PREFS_NAME = "MyPreferncesfile";

    ActionBar actionBar; 
    @Override
    public void onCreate(Bundle arg0) {
        super.onCreate(arg0);
        setContentView(R.layout.activity_main);

        actionBar=getActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

        ActionBar.Tab tab1=actionBar.newTab();
        tab1.setText("Tab 1");
        tab1.setTabListener(this); 

        ActionBar.Tab tab2=actionBar.newTab();
        tab2.setText("Tab 2");
        tab2.setTabListener(this); 

        ActionBar.Tab tab3=actionBar.newTab();
        tab3.setText("Tab 1");
        tab3.setTabListener(this); 

        actionBar.addTab(tab1);
        actionBar.addTab(tab2);
        actionBar.addTab(tab3);
    }

    public void onTabReselected1(Tab tab, FragmentTransaction ft) {

        Log.d("VIVZ", "onTabReselected at "+" position "+tab.getPosition()+" name "+tab.getText());

    }

    public void onTabSelected1(Tab tab, FragmentTransaction ft) {
        Log.d("VIVZ", "onTabSelected at "+" position "+tab.getPosition()+" name "+tab.getText());

    }

    public void onTabUnselected1(Tab tab, FragmentTransaction ft) {
        Log.d("VIVZ", "onTabUnselected at "+" position "+tab.getPosition()+" name "+tab.getText());         
    }
 }

最佳答案

当你使用appComapt 然后改变,你应该做如下....

FragmentActivity 更改为 ActionBarActivity

actionBar=getSupportActionBar();

关于java - Android 错误 : type mismatch cannot convert from android. app.actionbar 到 android.support.v7.app.actionbar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26310869/

相关文章:

eclipse - 如何在 Eclipse Web 项目中将 WebContent 文件夹更改为不同的内容?

带有 OpenCv : UnsatisfiedLinkError under Eclipse if use spring-boot-devtools 的 Java Spring 启动应用程序

Java-11 spring-boot 部署到谷歌云错误 : app does not satisfy requirements for [java11]

java - 与 varargs() 匹配会出现编译错误

基于Java平铺的渲染,可以 move 已经绘制的吗?

java - Struts 2 迭代器标签

android - 使用 NFC 监听信用卡信息

android - 使用带有复选框的 ExpandableListActivity

android - 用 espresso 断言列表中的正确数量的项目

android - 如何在eclipse中调试子项目中的Intent