我刚开始做Android开发,或多或少遵循http://developer.android.com/training/basics/firstapp/starting-activity.html教程,还有一件事一直困扰着我:我有两个类,两个类都是使用“Activity”创建向导创建的:
public class PlacesActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_places);
// I manually commented out the following line to get it to compile.
// getActionBar().setDisplayHomeAsUpEnabled(true);
}
// ... other methods
}和
public class ShowOnePlace extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_one_place);
getActionBar().setDisplayHomeAsUpEnabled(true);
}
// ... other methods
}Eclipse一直给我带来以下错误:
调用需要API级别11 (当前最小值为8):android.app.Activity#getActionBar 调用需要API级别11 (当前最小值为8):android.app.ActionBar#setDisplayHomeAsUpEnabled
直到我注释掉其中的一行(如上面所示)。现在,这个应用程序似乎在我的Android设备上编译和运行,没有错误。(至少没有那个错误)。
所以:
getActionBar().setDisplayHomeAsUpEnabled(true);在一个类中给出了这个错误,但是在另一个类中,完全相同的行不是错误--甚至不是警告?getActionBar().setDisplayHomeAsUpEnabled(true);语句在一个活动中是错误的,但在另一个活动中却是完全正确的呢?发布于 2014-04-29 08:44:25
使用getSupportActionBar()而不是getActionBar()。这将在低于11的API级别上提供ActionBar特性。
发布于 2012-11-30 23:01:58
简而言之,Action在Android的旧版本中是不可用的,google的支持库也不提供这一功能。这就是林特抱怨的原因--你使用的是API版本8中不存在的代码,它被设置为应用程序支持的最低API级别。如果您想在旧版本的android版本上使用操作栏,请使用名为“”的开源库。
现在,回答你的问题
发布于 2014-06-14 14:55:19
如果使用appcompat-v7及更高版本,则不能使用actionbarsherlock,因为两者定义的属性相同。因此,这些图书馆在资源上存在冲突。
要使用支持库,您需要:(我希望您已经下载并将支持库集成到您的项目中)
导入:
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;活性:
public class PlacesActivity extends ActionBarActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_places);
// I manually commented out the following line to get it to compile.
// getActionBar().setDisplayHomeAsUpEnabled(true);
}
// ... other methods
}因此,您可以从旧版本支持的活动中获得actionBar实现:
ActionBar actionBar = activity.getSupportActionBar();写代码&玩得开心!
https://stackoverflow.com/questions/13654039
复制相似问题