Eu estou mudando alguns códigos para o modelo de design do FragmentTabsPager, que faz um ótimo trabalho fornecendo navegação por abas e passar páginas (veja FragmentTabsPager e Versão ABS do FragmentTabsPager).
Mas eu não consigo descobrir como produzir um ContextMenu quando um item da lista é selecionado. Anteriormente eu faria isso simplesmente chamando:
ListView listView = (ListView) findViewById(R.id.listViewid);
registerForContextMenu(listView);
E, em seguida, ter definições para onCreateContextMenu () para gerar dinamicamente os itens de menu e onContextItemSelected () para executar a ação apropriada com base no item selecionado.
O problema que estou tendo agora é que noNo modelo FragmentTabsPager, o listview é gerado dinamicamente - não em um arquivo XML - portanto, não há um local óbvio para obter o listView para a chamada registerForContextMenu.
Alguma idéia de como fazer isso? Obrigado.
Respostas:
0 para resposta № 1Eu descobri como fazer menus de contexto trabalhar com o FragmentTabsPager.
Primeiro, usando o FragmentTabsPager mencionadoacima, integre as chamadas mTabsAdapter.addTab () de FragmentTabsPager.java às suas Atividades que tenham uma Barra de ação Sherlock e para as quais você deseja implementar o deslizamento.
Em seguida, modifique AccountListActivity.java do mesmo repositório, adicionando onCreateContextMenu () e onContextItemSelected () ao AccountListFragment.
Os retornos de chamada do ContextMenu serão invocados nos itens da sua lista depois que você chamar
registerForContextMenu(getListView());
da função onActivityCreated (). Obtendo o argumento certo para a chamada de registro é o pouco que eu estava faltando. Boa sorte!