Mi occupo di questo problema su Android:Accesso di dominio da thread errato Android
Accesso al dominio da thread non corretto. Gli oggetti di ambito sono accessibili solo sul thread in cui sono stati creati.
voglio usare nel mio regno RemoteViewsFactory con
public class RemoteViewsX implements RemoteViewsFactory {
public RemoteViews getViewAt(int paramInt) {
if (this.results != null && this.results.size() != 0 && this.results.get(paramInt) != null) {
//FAILED HERE
}
}
... Questa chiamata fallito! Perché ?
prelevo i miei dati come questo nella mia classe:
public void onDataSetChanged() {
Realm realm = Realm.getInstance(RemoteViewsX.this.ctx);
this.results = realm.where(Model.class).findAll();
}
ho chiamato il mio remoteFactory in questo modo:
public class ScrollWidgetService extends RemoteViewsService {
@Override
public RemoteViewsFactory onGetViewFactory(Intent intent) {
return new RemoteViewsX (getApplicationContext());
}
}
Qualche idea?
non ho familiarità con RemoteViewsService, ma a quanto pare il metodo '' 'onDataSetChanged''' viene chiamato da un altro thread che il vostro metodo' '' getViewAt'''. Non sono sicuro se questo a causa di come funziona RemoteViewsService o il tuo codice. –
Ok thxs, come posso ripararlo? – manua27
Per interrompere la limitazione del dominio, è possibile consultare questo post http://stackoverflow.com/questions/26602258/how-to-achieve-the-following-in-realm-for-android/32607241#32607241. mostra il tipo di implementazione del wrapper per liberare la tua applicazione dall'accesso di Reame dall'eccezione di thread errata –