gpt4 book ai didi

android - 无法在 Android 2.3 中使用 Action bar 和 Fragment

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:37:02 26 4
gpt4 key购买 nike

想在Android 2.3中使用Action bar和Fragment,但是报错

Type mismatch: cannot convert from android.app.ActionBar to android.support.v7.app.ActionBar

在这一行

final ActionBar bar = getActionBar();

我已经导入了 android.support.v4 和 v7。

package com.hmkcode.android;

import android.support.v7.app.ActionBar;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
import android.view.Menu;
import android.view.MenuItem;


public class MainActivity extends FragmentActivity {
private ViewPager pager;
private TabsAdapter mTabsAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

pager = new ViewPager(this);
pager.setId(R.id.pager);
setContentView(pager);

final ActionBar bar = getActionBar();
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

mTabsAdapter = new TabsAdapter(this, pager);
mTabsAdapter.addTab(bar.newTab().setText("List Fragment 1"), List_View.class, null);
mTabsAdapter.addTab(bar.newTab().setText("List Fragment 2"), List_View.class, null);
mTabsAdapter.addTab(bar.newTab().setText("List Fragment 3"), List_View.class, null);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
//return true;
MenuItem item1 = menu.add(0, 1, 1, "Change role");
item1.setShortcut('1', '1');

MenuItem item2 = menu.add(0, 2, 2, "User Information");
item2.setShortcut('2', '2');

return super.onCreateOptionsMenu(menu);
}

}

最佳答案

确保您已引用 AppCompat

http://developer.android.com/tools/support-library/setup.html

改变

public class MainActivity extends FragmentActivity {
...
}

public class MainActivity extends ActionBarActivity { 
...
}

和改变

final ActionBar bar = getActionBar();

final ActionBar bar = getSupportActionBar();  

引用

http://developer.android.com/guide/topics/ui/actionbar.html

还有为什么需要

setContentView(R.layout.activity_main);

当你有

setContentView(pager);

关于android - 无法在 Android 2.3 中使用 Action bar 和 Fragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21146019/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com