Android - Blocos de Caixa de seleção ExpandabLelistView.ongRoupClickListener
-
18-09-2019 - |
Pergunta
Estou tentando colocar uma caixa de seleção no ExpandabLelistView. Como faço isso? Eu estendo bashexpandableListAdapter e coloco o seguinte no getGroupView ():
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView,
ViewGroup parent) {
View view = convertView == null ?
context.getLayoutInflater().inflate(R.layout.onet_head, null) : convertView;
((TextView)view.findViewById(R.id.onetText)).setText(cats.get(groupPosition).value);
return view;
}
Observe que o layout inflado? É aí que estou colocando o TextView e a caixa de seleção. Percebi que colocar uma caixa de seleção no layout da linha do meu grupo desativa a funcionalidade de linha do grupo padrão ao clicar na linha faz com que uma lista secundária (filho) apareça. A caixa de seleção está funcionando como esperada, mas quando eu clico fora do IT, o clique nunca é detectado pela caixa de seleção Ether ou pelo OnGroupClickListener. Suspeito que colocar a caixa de seleção em linha de grupo dessa maneira interfira na detecção/manuseio de eventos, mas até agora não sou capaz de rastreá -la
Alguém pode me ajudar a resolver isso? A caixa de seleção funciona bem, incluindo a detecção de cliques ao clicar diretamente na caixa
Solução
Sempre que você coloca um item focado em uma lista, os itens da lista não respondem mais a cliques ou algo assim. Para cada item que você coloca no item da lista que é focado (botões, caixas de seleção, etc.), você precisa definir o atributo Android: Focusable para false.
Eu tive uma pergunta semelhante e essa foi a resposta para mim.Android Custom ListView Incapaz de clicar em itens