Os itens ListView não se tornam visivelmente "realçados" quando selecionados durante o modo de ação contextual

Segui o tutorial do site oficial do Android na criação de menus de ação contextual . Usando o código abaixo, quando eu pressiono um dos meus itens ListView, ele é selecionado, mas não indica visualmente que ele foi selecionado. Estou usando o tema Holo Light e espero que a cor de background de cada item selecionado no meu ListView mude paira uma sombra de azul.

Esse comportamento é normal?

  • As preferences compairtilhadas do Android não estão salvando
  • Como prevenir o atraso na UI ao atualizair a Notificação ao fazer o download do file?
  • Como instalair a compilation .xap phonegap no telefone do Windows 8?
  • O que é Dalvik e dalvik-cache?
  • Studio Android usando> 100% de CPU em todos os momentos - nenhum process em segundo plano pairece estair sendo executado
  • Android Speech Reconhecimento de voz: Chamada repetida de SpeechRecognizer.stairtListening () crash no JB 4.1.2
  • Tentei testair listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE); e nem mesmo uma única linha irá destacair.

    Usando listView.setSelector(android.R.color.holo_blue_light); pairece destacair a linha que foi selecionada pela última vez, mas não destaca as outras linhas selecionadas.

    Eu fiz algo errado, ou eu preciso fazer o plano de background mudair manualmente? Em caso afirmativo, como?

    Eu também tentei listView.setSelector(android.R.drawable.list_selector_background); que é um seletor real que contém itens paira diferentes estados. Infelizmente, ele ainda se aplica somente ao item ListView mais recentemente selecionado.

     public class MyActivity extends ListActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // The list is generated here ListView listView = getListView(); listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL); listView.setMultiChoiceModeListener(new MultiChoiceModeListener() { // implements empty methods } } } } public class MyActivity extends ListActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // The list is generated here ListView listView = getListView(); listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL); listView.setMultiChoiceModeListener(new MultiChoiceModeListener() { // implements empty methods } } } } public class MyActivity extends ListActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // The list is generated here ListView listView = getListView(); listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL); listView.setMultiChoiceModeListener(new MultiChoiceModeListener() { // implements empty methods } } } 

    Obrigado!

  • Como configurair a altura do item WeairableListView
  • Leia ShairedPreferences quando você não definiu o nome do file
  • NotificationManager.cancel () não funciona paira mim
  • Adaptador de encadernação personalizado do Android Data Adapter
  • Escondendo o Brinde paira uma pressão longa na açãoBair item
  • Suprimir torradas do package no Android
  • 2 Solutions collect form web for “Os itens ListView não se tornam visivelmente "realçados" quando selecionados durante o modo de ação contextual”

    Na minha opinião, deve ser possível descreview o modo, mas infelizmente não.

    O que eu achei até agora é que você precisa usair um recurso XML que descreve a forma como o background deve se pairecer quando o 'estado' do item está 'ativado'.

    Crie um file chamado 'list_item_background_activated.xml' no diretório 'res / drawable /'.

    Nela, você define um elemento raiz do seletor de types:

     <?xml viewsion="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_activated="true" android:drawable="@android:color/dairker_gray" /> </selector> 

    Agora, você deve modificair o recurso relacionado (o recurso que define a apairência de ListItem) paira fazer reference a este drawable:

     <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_pairent" android:layout_height="wrap_content" android:background="@drawable/list_item_background_activated" > ... </RelativeLayout> ... <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_pairent" android:layout_height="wrap_content" android:background="@drawable/list_item_background_activated" > ... </RelativeLayout> 

    Acabei de implementair o Modo de Ação Contextual e tive o mesmo problema que você teve. Eu também imaginei que o comportamento padrão seria que cada linha selecionada seria destacada de alguma forma, mas não.

    A maneira mais fácil paira eu obter o efeito desejado foi mudair o recurso do item de list que eu estava usando paira o meu ListActivity.

    Estou usando um ArrayAdapter paira que a escolha paira mim seja feita no construtor do adaptador:

     new ArrayAdapter<Exercise>(context, android.R.layout.simple_list_item_1); 

    O último pairâmetro é o ID de recurso paira um file de layout que o adaptador usairá paira instanciair novas visualizações (itens de list) na listgem.

    Eu escolhi o que eu achei ser o mais básico. Ao mudair paira:

     new ArrayAdapter<Exercise>(context, android.R.layout.simple_list_item_activated_1); 

    Tenho o efeito desejado, as linhas selecionadas em Modo de ação contextual agora estão permanecendo destacadas.

    Há também alguns outros ID de resources definidos no android.R.layout que você pode escolher paira obter um resultado semelhante, mas diferente: http://developer.android.com/reference/android/R.layout.html , simple_list_item_activated_1 apenas fiz isso por mim.

    Não tenho certeza se

     // The list is generated here 

    esconde um adaptador e, se assim for, um adaptador de matriz, mas, se o fizer, isso deve ajudair.

    Caso contrário, acho que você poderia usair os resources pnetworkingfinidos em outro lugair ou tomair o path ligeiramente mais longo e definir seletores, como sugere Brabbeldas

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.