Sto utilizzando un pulsante di azione fluttuante (FAB) nella mia applicazione per mostrare i dialoghi, tutto funziona perfettamente quando ho testato la mia app in Xperia Z con Lopllipop 5.1.1.
Tuttavia, il problema è quando ho testato la mia app in ASUS Zenfone 6 con KitKat 4.4.2 e in Xperia C con Jelly Bean 4.2.2, il FAB è stato caricato perfettamente ma il FAB non mostra i Dialoghi, sembra che non risponda quando l'ho toccato
Per la cronaca, la mia versione min sdk è 16.Il pulsante di azione flottante non risponde quando ha fatto clic/sfiorato
Quello che voglio chiedere è perché questo sta accadendo? C'è qualcosa di sbagliato nel mio codice, o forse con la versione di Android o il livello API?
Si prega di dare un'occhiata al mio codice. Ecco il codice XML:
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
android:src="@drawable/ic_add_account"
android:visibility="invisible"
android:clickable="true"/>
ed ecco come mi dichiaro e impostare l'ascoltatore per la FAB:
FloatingActionButton fab;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
fab = (FloatingActionButton) getActivity().findViewById(R.id.fab);
...
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
showDialog();
}
});
...
}
La cosa che mi ha fatto confuso è come viene lavorato in Xperia Z, ma non è così ha lavorato in ASUS Zenfone 6?
scopre che il problema è nel file XML che dichiarare il FAB prima della listview, per rimuovere la dichiarazione di FAB dopo il ListView, ha risolto il mio problema. –
Dovresti davvero aggiungere il commento sopra come risposta alla tua stessa domanda, poiché è davvero la soluzione a questo problema. Ho avuto lo stesso problema, nel mio caso era un RecyclerView, poi il FAB, quindi un NestedScrollView. Spostato il FAB sotto il NestedScrollView e gli eventi touch/click hanno iniziato a funzionare. Buona chiamata –
@Andrew Desidero inserire il mio commento come risposta e inserire il marchio SOLVED nella mia domanda, ma in realtà non ho la minima idea di come farlo. così triste ... –