Как назначать различные действия для элементов панели действий - PullRequest
0 голосов
/ 27 августа 2011

В моем приложении я работаю с библиотекой actionbar, (Bcz я использую API 2.2) https://github.com/johannilsson/android-actionbar

В моем приложении 6 классов.Каждый класс содержит различные элементы действий на панели действий.Я хочу для разных разных действий это будет работать по-разному.Но в библиотеке actionbar есть прослушиватель с одним щелчком мыши для всех действий.Но я хочу позвонить клиенту из моей деятельности.Как я могу это сделать?

1 Ответ

2 голосов
/ 27 августа 2011

Для каждого вида деятельности вы можете использовать код, как показано ниже.Вы можете использовать суперкласс, чтобы избежать дублирования кода.Для каждой кнопки на панели действий необходимо создать намерение, а затем указать это намерение в качестве действия для кнопки.

// 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));
...