如何为操作栏项提供不同的操作

时间:2011-08-27 08:18:41

标签: android android-actionbar

在我的应用程序中,我正在使用操作栏库,(Bcz我正在使用api 2.2) https://github.com/johannilsson/android-actionbar

我的应用中有6个班级。每个类在操作栏中包含不同的操作项。我想要不同的不同行动,它会以不同的方式运作。 但是在actionbar库中,所有操作都有单击监听器。 但我想从我的活动中打电话给clik听众。 我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

对于每项活动,您可以使用以下代码。您可能希望使用超类来避免重复代码。对于操作栏上的每个按钮,您需要创建一个intent,然后将该intent指定为该按钮的操作。

// Set the Action Bar title
actionBar = (ActionBar)findViewById(R.id.actionbar);
actionBar.setTitle(R.string.app_name);

// Set up the Action Bar home/icon button
actionBar.setHomeLogo(R.drawable.icon);
Intent homeIntent = new Intent(Intent.ACTION_VIEW);
homeIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
homeIntent.setClassName(context, TaxiMap.class.getName());
actionBar.setHomeAction(new ActionBar.IntentAction(this, homeIntent, R.drawable.icon));

// Add an Action Bar button
Intent actionIntent = new Intent(Intent.ACTION_VIEW);
actionIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
actionIntent.setClassName(context, TaxiMap.class.getName());
actionBar.addAction(new ActionBar.IntentAction(this, actionIntent, R.drawable.ic_action_icon));