Provo a riprodurre un suono da R.raw. inside a Thread/Runnable Ma non riesco a farlo funzionare.Contesto all'interno di un Runnable
new Runnable(){ public void run() { //this is giving me a NullPointerException, because getBaseContext is null MediaPlayer mp = MediaPlayer.create(getBaseContext(), R.raw.soundfile); while (true) { if (something) play something } }
Come posso ottenere il contesto reale all'interno del metodo di esecuzione? È nullo, non importa quello che cerco. O c'è un modo migliore per farlo?
Ho un gestore e quel Runnable extra. Ma se voglio accedere a quel Runnable extra ho bisogno di dichiararlo come una variabile di classe e quindi non c'è Context e getBaseContext è null – oggy
Perché non c'è un contesto? Puoi salvarlo sul tuo onCreate o appena prima di iniziare la discussione: final Context myContext = ...; o estendi il tuo intializer gestore come YourHandler (Context c) {mGlobalContext = c} ... –
è quello che sto cercando di capire. Se dichiaro una variabile di classe Contesto c; e fai c = getBaseContext(); nel metodo onCreate posso stamparlo nel metodo onCreate e mi dà qualcosa. Se stampo contesto nel Runnable mi dà nulla, non importa cosa sia – oggy