Comment faire pour obtenir l'Activité à l'Intention du Service
Je veux obtenir de l'activité à l'intention du service. Dans un but de service, remplissez les données de la liste de contrôle.
Lorsque j'appelle le DictionaryListAdapter dans FloatSomeService(IntentService) ne sont pas l'activité.
(FloatSomeService.java Service
public void onCreate() {
//TODO Auto-generated method stub
super.onCreate();
windowManager = (WindowManager)getSystemService(WINDOW_SERVICE);
//Find Controls
LayoutInflater inflater = LayoutInflater.from(this);
viewFloat = inflater.inflate(R.layout.float_view, null);
listview = (ListView)viewFloat.findViewById(R.id.listDic);
this.generateData();
//*** Error : When create adapter, get activity from base context *** //
myAdapter = new DictionaryListAdapter((Activity)getBaseContext(), myListItem);
listview.setAdapter(myAdapter);
......................
windowManager.addView(viewFloat, parameters);
}
(DictionaryListAdapter.java)
public class DictionaryListAdapter extends BaseAdapter{
private Activity myContext;
private ArrayList<HistoryListItem> myItems;
public DictionaryListAdapter(Activity activity, ArrayList<DictionaryListItem> items){
this.myContext = activity;
this.myList = items;
}
public View getView(int position, View convertView, ViewGroup parent) {
//TODO Auto-generated method stub
if (convertView == null) {
LayoutInflater layoutInflater = this.myContext.getLayoutInflater();
convertView = layoutInflater.inflate(R.layout.history_list_item, null);
}
ImageView imgPerson = (ImageView)convertView.findViewById(R.id.imgPerson);
...........................
}}
OriginalL'auteur B M | 2014-03-24
Vous devez vous connecter pour publier un commentaire.
Utiliser la diffusion de notification pour transmettre des données de service de l'activité et la mise à jour des vues en activité au moment de la diffusion de réception de la notification.
Par exemple, dans la classe de service définir un braoadcast fonction de notification,
et avis comme ça à l'intérieur de la classe du service
Définir la classe de récepteur dans votre activité
Dans l'activité de classe, inscrivez-récepteur dans onResume() et annuler l'inscription du récepteur dans onStop() comme ceci
OriginalL'auteur Jitendra
J'ai utilisé quelques-uns des trucs pour la liste de contrôle de liaison de données. J'ai résolu avec LayoutInflater. Si je reçois disposition inflater, je peux compléter les données aux contrôles. L'intention de Service, peuvent obtenir la Mise en page Inflater. - Je envoyer LayoutInflater de l'intention de ma DictionaryListAdapter classe.
C'est ok pour moi.
(FloatSomeService.java) L'Intention Du Service
(DictionaryListAdapter.java) Liste Adaptateur
OriginalL'auteur B M
vous ne pouvez pas mettre à jour l'INTERFACE utilisateur dans le service.pour cela, vous devez avoir à faire usage d'activité
OriginalL'auteur asiya
Comme asiya dit, vous ne pouvez pas mettre à jour l'INTERFACE utilisateur dans le service.
Essayez de les informer de l'activité de votre service à l'aide de ResultReceiver
OriginalL'auteur Matvey Malkov