Premetto che sono nuovo ... quindi penso che il problema del codice sia quello in oggetto ma non ne sono sicuro
Per recuperare un riferimento a un View come un Button per esempio....ho sempre usato la seguente riga di codice:
((Button) findViewById(R.id.button_id))
ha sempre funzionato egregiamente
nel codice che stò per illustrare mi trovo in una situazione del genere:
Attualmente il layout utilizzato è R.layout.main
Voglio aprire un Popup che contiene un button
Voglio però modificare il text di questo button
La riga di codice scritta prima non funziona ... cioè restituisce null se gli dò come parametro l'id di questo button....l'ipotesi a cui sono arrivato è perchè il button richiesto non si trova nel layout attualmente visualizzato
setContentView(R.layout.main);
...
...
...
LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v1 = vi.inflate(R.layout.pop, null);
PopupWindow Popup = new PopupWindow(v1, 100, 100);
((Button)findViewById(R.id.Pulsante)).setText("Testo");
((Button)findViewById(R.id.Pulsante)).setBackgroundResource(R.drawable.d20);
Popup.showAtLocation(v1, Gravity.CENTER, 0, 0);Così la funzione da null
allora ho provato ad aggirare la cosa (soluzione disperata) racchiudendo le due righe in cui modifico le proprietà del pulsante in un cambio di layout cioè così:
....
setContentView(R.layout.pop);
((Button)findViewById(R.id.Pulsante)).setText("Testo");
((Button)findViewById(R.id.Pulsante)).setBackgroundResource(R.drawable.d20);
setContentView(R.layout.main);
.....In questo modo pensavo di aver risolto...difatti la funzione recupera correttamente la view...e non dà nessun errore in esecuzione
Però......quando mi apre il popup...lo vedo con le impostazioni di default contenute nel file di layout pop.xml
Sembrerebbe quindi una di queste due cose:
o che le modifica ma il popup non si aggiorna anche lui con le modifiche...(ho provato ad aggiungere in fondo quindi la riga "Popup.update();") ma niente
o che le modifica ma al momento dell'apertura del layout del popup ricarica le proprietà in esso contenute....
mi sapete aiutare? Grazie