Android的错误:类型不匹配无法从android.app.actionbar转换为android.support.v7.app.actionbar [英] Android Error: type mismatch cannot convert from android.app.actionbar to android.support.v7.app.actionbar

查看:1788
本文介绍了Android的错误:类型不匹配无法从android.app.actionbar转换为android.support.v7.app.actionbar的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前得到的错误:

 类型不匹配无法从android.app.actionbar转换为android.support.v7.app.actionbar
 

该错误发生在动作条= getActionBar();

我想知道,如果这件事情与我的导入文件或可能我怎么设置我的片段XML文件?这里是我的相关code:

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

公共类Main_activity扩展FragmentActivity实现TabListener {

    公共静态最后弦乐preFS_NAME =我的preferncesfile;

    动作条动作条;
    @覆盖
    公共无效的onCreate(捆绑为arg0){
        super.onCreate(为arg0);
        的setContentView(R.layout.activity_main);

        动作条= getActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

        ActionBar.Tab TAB1 = actionBar.newTab();
        tab1.setText(标签1);
        tab1.setTabListener(本);

        ActionBar.Tab TAB2 = actionBar.newTab();
        tab2.setText(标签2);
        tab2.setTabListener(本);

        ActionBar.Tab TAB3 = actionBar.newTab();
        tab3.setText(标签1);
        tab3.setTabListener(本);

        actionBar.addTab(TAB1);
        actionBar.addTab(TAB2);
        actionBar.addTab(TAB3);
    }

    公共无效onTabReselected1(TAB键,FragmentTransaction英尺){

        Log.d(VIVZ,onTabReselected在+位置+ tab.getPosition()+名+ tab.getText());

    }

    公共无效onTabSelected1(TAB键,FragmentTransaction英尺){
        Log.d(VIVZ,onTabSelected在+位置+ tab.getPosition()+名+ tab.getText());

    }

    公共无效onTabUnselected1(TAB键,FragmentTransaction英尺){
        Log.d(VIVZ,onTabUnselected在+位置+ tab.getPosition()+名+ tab.getText());
    }
 }
 

解决方案

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

修改 FragmentActivity ActionBarActivity

 动作条= getSupportActionBar();
 

I'm currently getting the error:

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

The error is occurring on actionBar=getActionBar();.

I'm wondering if it's something to do with my import files or possibly how I've set up my fragment XML files? Here is my relevant code:

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());         
    }
 }

解决方案

When you're using appComapt Then the changes, You should do as follows....

Change FragmentActivity to ActionBarActivity

actionBar=getSupportActionBar();

这篇关于Android的错误:类型不匹配无法从android.app.actionbar转换为android.support.v7.app.actionbar的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆