我想在列表视图中实现一个动作栏。如 developer.android.com 中所述,我尝试在代码中使用扩展操作栏活动。当我提供扩展活动时,我的代码运行良好,但我不会得到操作栏。当我使用扩展 ActionBarActivity 与 java.lang.exceptionininitializererror 时,代码崩溃。
我已经导入了支持库。截图附后。导入的库是 android-support-v4.jarandroid-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
}
}
您必须将 appcompat 库添加为库项目,而不仅仅是导入 jar。
将 appcompat 从 android_sdk_dir/extras/android/support/v7/appcompat
导入 IDE。
将其作为库项目添加到项目中。(项目 -> 属性 -> Android -> 库 -> 添加..,然后选择 appcompat)。
不要忘记将应用程序主题更改为 Theme.AppCompat
.