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
本文介绍了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屋!
查看全文