Реализация панели действий в виде списка
Я хочу реализовать ActionBar в виде списка. Как указано на developer.android.com, я попытался использовать в своем коде действие Extensions ActionBar. Мой код работает нормально, когда я даю, расширяет Activity, но я не получу ActionBar. Код падает, когда я использую, расширяет ActionBarActivity с java.lang.exceptionininitializererror.
Я импортировал библиотеку поддержки. Скриншот прилагается. Импортированные библиотеки: android-support-v4.jar android-support-v7-appcompat.jar.
Ниже мой код. Пожалуйста, объясните мне это.
Также, пожалуйста, дайте мне знать, если я могу сделать это любым другим способом.
public class ImageTextListViewActivity extends Activity implements OnItemClickListener {
public static final String[] titles = new String[] { "Football",
"Basketball" };
public static final Integer[] images = { R.drawable.football,
R.drawable.basketball };
ListView listView;
List<RowItem> rowItems;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//ActionBar actionBar = getSupportActionBar();
// actionBar.setDisplayShowTitleEnabled(false);
//android.graphics.drawable.ColorDrawable.setColor(0xff9ACC00);
//actionBar.setBackgroundDrawable(colorDrawable);
//actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
rowItems = new ArrayList<RowItem>();
for (int i = 0; i < titles.length; i++) {
RowItem item = new RowItem(images[i], titles[i]);
rowItems.add(item);
}
listView = (ListView) findViewById(R.id.list);
CustomListViewAdapter adapter = new CustomListViewAdapter(this,
R.layout.list_item, rowItems);
listView.setAdapter(adapter);
listView.setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
//Navigation to next page
Intent myIntent = new Intent(view.getContext(), Football.class);
myIntent.putExtra("Game",listView.getItemAtPosition(position).toString());
startActivityForResult(myIntent, 0);
//Navigation ends
}
}
1 ответ
Вы должны добавить библиотеку appcompat как проект библиотеки, а не просто импортировать jar.
Импортируйте appcompat в вашу IDE из android_sdk_dir/extras/android/support/v7/appcompat
,
Добавьте его в свой проект как проект библиотеки. (Проект -> Свойства -> Android -> Библиотека -> Добавить.. и выберите appcompat).
Не забудьте изменить тему приложения на Theme.AppCompat
,