Попытка показать ActionBar с логотипом приложения слева, название экрана с центром и значки меню справа. Класс ниже расширяет ListActivity, как я могу это сделать:Показать ActionBar с центрированным логотипом в ListActivity
Метод, который я создал, был centerlogo(); Смотрите отрывок кода ниже:
public class NewsActivity extends ListActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
ListView list;
String[] itemname = { "Bafana crash out of Afcon",
"Mali and Guinea face ultimate lottery",
"Orlando Pirates eye cup glory",
"Ivory Coast advance to Afcon quarters",
"Algeria qualify for Afcon quarter-finals",
"Reflect on Afcon lessons - Mbalula",
"Tovey preaches patience with Bafana",
"SuperSport's Brockie harbours lofty goals" };
Integer[] imgid = { R.drawable.bafana, R.drawable.mailguinea,
R.drawable.orlando, R.drawable.ivorycoast, R.drawable.algeria,
R.drawable.reflection, R.drawable.tovey, R.drawable.supersport, };
CustomListAdapter adapter = new CustomListAdapter(this, itemname, imgid);
setListAdapter(adapter);
centreLogo();
}
private void centreLogo() {
// TODO Auto-generated method stub
Drawable d = getResources().getDrawable(R.drawable.banner);
android.app.ActionBar bar = getActionBar();
bar.setBackgroundDrawable(d);
bar.setDisplayShowTitleEnabled(false);
bar.setDisplayShowCustomEnabled(true);
// getSupportActionBar().setDisplayHomeAsUpEnabled(true);
bar.setCustomView(R.layout.news_view);
bar.setDisplayShowHomeEnabled(true);
bar.setIcon(R.drawable.icon);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu items for use in the action bar
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
public void readMore(View view) {
Intent read = new Intent(NewsActivity.this, ReadMoreActivity.class);
startActivity(read);
}
}
Я получаю следующее сообщение об ошибке:
01-29 13:45:40.093: E/AndroidRuntime(15402): FATAL EXCEPTION: main
01-29 13:45:40.093: E/AndroidRuntime(15402): java.lang.RuntimeException: Unable to start activity ComponentInfo{platinum.platinumstars/platinumnews.NewsActivity}: java.lang.NullPointerException
01-29 13:45:40.093: E/AndroidRuntime(15402): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2245)
01-29 13:45:40.093: E/AndroidRuntime(15402): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2295)
01-29 13:45:40.093: E/AndroidRuntime(15402): at android.app.ActivityThread.access$700(ActivityThread.java:150)
01-29 13:45:40.093: E/AndroidRuntime(15402): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1280)
01-29 13:45:40.093: E/AndroidRuntime(15402): at android.os.Handler.dispatchMessage(Handler.java:99)
01-29 13:45:40.093: E/AndroidRuntime(15402): at android.os.Looper.loop(Looper.java:176)
01-29 13:45:40.093: E/AndroidRuntime(15402): at android.app.ActivityThread.main(ActivityThread.java:5279)
01-29 13:45:40.093: E/AndroidRuntime(15402): at java.lang.reflect.Method.invokeNative(Native Method)
01-29 13:45:40.093: E/AndroidRuntime(15402): at java.lang.reflect.Method.invoke(Method.java:511)
Считаете ли вы использование 'ActionBarActivity' и' Toolbar' из библиотеки поддержки? – GareginSargsyan
Если я использую ActionBarActivity, мой setListAdapter (адаптер) больше не определяется. –