2013-09-05 3 views
0

У меня есть диалоговое окно, в котором есть ListView, и когда вы выбираете элемент, необходимо отобразить контекстное действие.Панель диалога и контекстного действия

Это то, что у меня есть Это внутри getView-метода адаптера ListView ListView. searchView - это вид. bAct - это моя активность, которая запускает диалог.

final LinearLayout searchView; 

final LayoutInflater vi = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
if (convertView == null) { 
    searchView = new LinearLayout(getContext()); 
    vi.inflate(resource, searchView, true); 
} 
else 
{ 
    searchView = (LinearLayout) convertView; 
} 

//Some code setting up some textview etc... 
searchView.startActionMode(bAct.savedSearchMode); 

И в моей деятельности я

public ActionMode.Callback savedSearchMode = new ActionMode.Callback() { 
    @Override 
    public boolean onCreateActionMode(ActionMode actionMode, Menu menu) { 
     MenuInflater inflater = new MenuInflater(ActivityViewTimetable.this); 
     inflater.inflate(R.menu.saved_searches, menu); 
     return true; 
    } 

    @Override 
    public boolean onPrepareActionMode(ActionMode actionMode, Menu menu) { 
     return false; 
    } 

    @Override 
    public boolean onActionItemClicked(ActionMode actionMode, MenuItem menuItem) { 
     switch (menuItem.getItemId()) { 
      case R.id.run: 
       progress.setTitle("Searching..."); 
       progress.setMessage("Fetching classes from the server"); 
       progress.show(); 
       AsyncForTimetable(typeID, classID, venueIds.values(), true); 
       hideSavedSearchDialog(); 
       break; 
      case R.id.delete: 
       ToastMe("Delete search"); 
       break; 
      default: 
       ToastMe("Unknown: "+menuItem.getTitle()); 
       break; 
     } 
     actionMode.finish(); 
     return false; 
    } 

    @Override 
    public void onDestroyActionMode(ActionMode actionMode) { 
     actionMode.finish(); 
    } 
}; 

Все это работает один раз. Я могу открыть диалоговое окно, заставить ActionBar изменить мои элементы контекста и запустить поиск, но как только я попытаюсь сделать это снова, панель действий не изменится.

Может ли кто-нибудь увидеть, что у меня получилось?

Если вам нужны какие-либо другие биты кода проводки, дайте мне знать

ответ

0

Проблема была мне нужно настроить контекстную бар в OnCreate

Смежные вопросы