[英]Android: required android.support.v7.app.ActionBar found android.app.ActionBar
[英]android.support.v7.app.ActionBar & android.app.ActionBar
我试图用选项卡创建一个应用程序,但出现错误..pls帮助..
当我使用'ActionBar actionBar'并在此代码行出现错误时:
actionBar = getActionBar(); -> incompatible type
actionBar = getActionBar(); -> incompatible type
。
当我使用android.app.ActionBar actionBar时,在这一行出现错误:
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); -> error
for (int i = 0; i < 3; i++) {
actionBar.addTab(actionBar.newTab().setText(tabNames[i])
.setTabListener(this)); -> error
}
app module :<br>
android {
compileSdkVersion 23
buildToolsVersion "22.0.1"
defaultConfig {
useLibrary 'org.apache.http.legacy'
minSdkVersion 21
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
tabActivity
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBar;
import android.os.Bundle;
public class tabActivity extends FragmentActivity implements ActionBar.TabListener {
private ViewPager viewPager;
private TabsPagerAdapter tabPagerAdapter;
private android.app.ActionBar actionBar;
private String[] tabNames = { "First", "Second"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tabActivity);
viewPager = (ViewPager) findViewById(R.id.pager);
tabPagerAdapter = new TabsPagerAdapter(getSupportFragmentManager());
viewPager.setAdapter(tabPagerAdapter);
actionBar = getActionBar();
actionBar.setHomeButtonEnabled(true);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
for (int i = 0; i < 3; i++) {
actionBar.addTab(actionBar.newTab().setText(tabNames[i])
.setTabListener(this));
}
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int postion) {
actionBar.setSelectedNavigationItem(postion);
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
}
@Override
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
}
清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:requiresSmallestWidthDp="600"
android:smallScreens="true"
android:xlargeScreens="true" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity
android:name=".Mn_Login"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".TabActivity"
android:label="TAB" />
</application>
</manifest>
代替FragmentActivity
尝试扩展AppCompatActivity
,而不是使用getSupportActionBar()
代替getActionBar()
getSupportActionBar()
如果您想使用Tab,可以尝试一下。
TabHost th = getTabHost();
//Tab 1
TabSpec tab1= th.newTabSpec("Tab Name");
tab1.setIndicator("Frame Anim", getResources().getDrawable(R.drawable.ic));
Intent move = new Intent(getApplicationContext(), FrameAnimation.class);
tab1.setContent(move);
//Tab 2
TabSpec tab2= th.newTabSpec("Tab Name");
tab2.setIndicator("Tween Amin", getResources().getDrawable(R.drawable.ic));
Intent movetween = new Intent(getApplicationContext(), TweenAnimations.class);
tab2.setContent(movetween);
th.addTab(tab1);
th.addTab(tab2);
并在布局文件中添加TabHost。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.