mio progetto Android Costruire target è 5.1.1 API 22Spinner malfunzionamenti sulla Lollipop
Questa applicazione sembra funzionare per tutte le versioni del sistema operativo, tranne Lollipop. Lollipop ristruttura l'altezza di alcune attività (annullando il layout scorrevole) e disturba i filatori.
Fare clic su una posizione specifica su una casella di selezione immetterà una posizione diversa nell'app. Non sono sicuro del perché e non so come risolvere questo problema. In alcuni casi, anche se si fa clic su un pulsante sulla casella di selezione, viene registrato il pulsante più visibile in basso sulla casella di selezione. Per alcuni spinners, non permetterà all'utente di scorrere affatto.
Uno dei miei codici filatore malfunzionamento è come questo:
ArrayAdapter<String>adapterl4 = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item,hbmlevel){
public boolean isEnabled(int position){
displayData(position);
return true;
}
};
selecthbm = (Spinner)findViewById(R.id.selecthbmlvl);
adapterl4.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
selecthbm.setAdapter(adapterl4);
selecthbm.setOnItemSelectedListener(this);
Ho provato anche utilizzando una variabile globale per la funzione displayData
ma ho ancora ottenere gli stessi risultati.
L'applicazione è un'applicazione molto semplice che è possibile scaricare here ed è in esecuzione a livello Java Compiler conformità 1.7
L'inizio della mia XML assomiglia a questo:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="fill_parent"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:fillViewport="true"
android:background="#C2DFFF">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
displayData:
public void displayData(int pos){
herolvlTV.setText(hbmherolvl[pos]);
hbmshardTV.setText(getResources().getString(R.string.shards)+" " +String.valueOf(hbmshards[pos]));
hbmexpTV.setText(getResources().getString(R.string.maxexp)+" " +String.valueOf(hbmmaxexp[pos]));
}
Qual è il metodo 'displayData' lo fa? – fRoStBiT
@fRoStBiT Basta impostareText per alcune visualizzazioni di testo – krikara
Perché lo stai facendo in 'isEnabled()'? Dovresti farlo in 'getView()'. – fRoStBiT