Евг*_*нов 23 android android-actionbar-compat
我被建议从ActionBarActivity扩展我的Activity类
这是以前的代码:
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
Run Code Online (Sandbox Code Playgroud)
我写了新的申请并遵循了建议.
import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
public class MainActivity extends ActionBarActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActionBar actionBar =getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
如果我使用ACtionBarActivity而不是Activity,当我尝试运行它时,手机上会出现以下错误:
对于TaskActivity类型,未定义getSupportActionBar()方法
MH.*_*MH. 75
您的类需要从而ActionBarActivity不是简单地扩展Activity才能使用这些getSupport*()方法.
更新 [2015/04/23]:随着Android支持库22.1的发布,您现在应该扩展AppCompatActivity.此外,您不再需要扩展,ActionBarActivity或者AppCompatActivity,因为您现在可以AppCompatDelegate在任何活动中合并实例.
小智 5
这是您可以使用的另一种解决方案.它正在我的应用程序中工作.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
android.support.v7.app.ActionBar actionBar =getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
setContentView(R.layout.activity_main)
Run Code Online (Sandbox Code Playgroud)
然后,您可以删除ActionBar使用的一行导入.
| 归档时间: |
|
| 查看次数: |
96881 次 |
| 最近记录: |