Budowanie ActionMode z niestandardowym układem w ActionBarSherlock
Właśnie zaczynam używać ActionBarSherlock do budowy prostej aplikacji, na moim pierwszym ekranie mam prostą listę i dodałem nową pozycję menu do dodawania nowego elementu do listy:
MenuItem newItem = menu.add("New");
newItem.setIcon(R.drawable.ic_compose_inverse)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
teraz, gdy użytkownik zdecyduje się dodać nowy element, chcę rozpocząć nowy tryb działania w celu dodania nowego elementu, ten tryb działania powinien zawierać prosty układ z polem tekstowym i przyciskiem, więc utworzyłem ten układ:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText
android:id="@+id/text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:inputType="text" >
</EditText>
<Button
android:id="@+id/addBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/add" />
</LinearLayout>
więc teraz muszę ustawić ten układ na pasku w nowym trybie akcji:
newItem.setOnMenuItemClickListener(new OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
actionMode = startActionMode(new MyAction(ListEditor.this));
return true;
}
});
iw moim działaniu:
private final class MyAction implements ActionMode.Callback {
...
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
View customNav = LayoutInflater.from(context).inflate(R.layout.add_item, null);
getSupportActionBar().setCustomView(customNav);
getSupportActionBar().setDisplayShowCustomEnabled(true);
return true;
}
}
Zasadniczo potrzebuję czegoś pomiędzy ActionModes i CustomNavigation z przykładu sherlocka, ale problem polega na tym, że ustawił układ na główny pasek, a nie na nowy pasek, który otwiera się do akcji.
jakieś sugestie?