此代码适用于API 11+,但我希望它可以在API 8上运行。我应该怎么做才能使它与姜饼设备兼容?
这是我的Main_Activiy
package com.calculator.cgpa;
import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
import android.widget.TextView;
public class MainActivity extends FragmentActivity implements
ActionBar.TabListener {
private String[] tabs = { "Sem 1", "Sem 2"};
private ActionBar actionbar;
private ViewPager mViewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mViewPager = (ViewPager) findViewById(R.id.pager);
actionbar = getActionBar();
TabsPagerAdapter mSectionsPagerAdapter = new TabsPagerAdapter(getSupportFragmentManager());
mViewPager.setAdapter(mSectionsPagerAdapter);
actionbar.setHomeButtonEnabled(false);
actionbar.setDisplayShowTitleEnabled(false);
actionbar.setDisplayShowHomeEnabled(false);
actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
for (String tab_name : tabs) {
actionbar.addTab(actionbar.newTab().setText(tab_name)
.setTabListener(this));
}
mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
// on changing the page
// make respected tab selected
actionbar.setSelectedNavigationItem(position);
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
}
@Override
public void onTabReselected(Tab arg0, FragmentTransaction arg1) {
// TODO Auto-generated method stub
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
mViewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
}
这适用于API 11+,但我希望它可以在API 8上运行。我应该怎么做才能使它与姜饼设备兼容?
答案 0 :(得分:2)
您已使用兼容性库中的导入但ActionBar
。你有两种可能性。
答案 1 :(得分:2)
您可以使用ActionBarActivity而不是FragmentActivity。 ActionBarActivity扩展了FragmentActivity,因此您无需担心Fragment兼容性。
然后你可以使用android.support.v7.app.ActionBar。
您可以在Android开发者网站上找到更多详细信息:http://developer.android.com/training/basics/actionbar/setting-up.html
答案 2 :(得分:2)
如果您在Action Bar上阅读此文档,则表示在Android 3.0中添加了Action Bar - Honeycomb。因此,您需要使用support libraries为API 8添加操作栏。
import android.support.v7.app.ActionBar
import android.app.ActionBar