findViewById(int) restituisce null in uno specifico pulsante Android 3.1 altre versioni la sua fine
-
06-11-2019 - |
Domanda
È la mia prima domanda, ma sto cercando di chiedere correttamente.
Come dice il titolo di un solo pulsante e solo in android 3.1 findViewById(int) restituisce null.Test su Android 2.2 funziona e tutti gli altri pulsanti sono trovato in entrambe le versioni di Android.Trova pulsanti di prima linea e dopo.
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button buttonInfo = (Button)findViewById(R.id.buttonInfo);//fine
buttonInfo.setOnClickListener(this);
...
Button buttonCallOpScreen = (Button)findViewById(R.id.buttonCallOpScreen);//always returns null in android 3.1
...
Button buttonTakePicture = (Button)findViewById(R.id.buttonTakePictureMain);//fine
buttonTakePicture.setOnClickListener(this);
}
main.xml
:
(So che non dovrei usare px
, ma si deve lavorare sul mio dispositivo, quindi va bene così per questo caso).
<Button
android:id="@+id/buttonInfo"
android:text=""
android:layout_width="332px"
android:layout_height="100px"
android:background="@drawable/btn_team" />
...
<Button
android:id="@+id/buttonCallOpScreen"
android:text=""
android:layout_width="332px"
android:layout_height="100px"
android:background="@drawable/btn_operator" />
...
<Button
android:id="@+id/buttonTakePictureMain"
android:text=""
android:layout_width="80px"
android:layout_height="80px"
android:background="@drawable/btn_take_picture"
android:layout_gravity="bottom|left" />
Qualsiasi aiuto sarebbe apprezzato, grazie finora.
Risposta:
Si è rivelato essere il più brutto.Come ci sono diverse persone che lavorano su questo progetto di sembrava aver cambiato il nome in layout-normal/main.xml.Mentre Android-Versioni prima di 3.1 sembrano carico layout/main.xml quelli più recenti l'uso layout-normal/main.xml.Ed è più che comprensibile se l'id del pulsante è diverso findViewById(int) deve restituire null.
Mi dispiace per il fastidio che e grazie per i commenti!
Come ho meno di 100 punti reputazione, non so rispondere alla mia domanda per chiudere, se qualcuno potrebbe postare questa risposta posso accettare, grazie.
Nessuna soluzione corretta