============ Problem Description ============
Private Myaidlservice Myaidlservice;
Private Serviceconnection connection = new Serviceconnection () {
@Override
public void onservicedisconnected (componentname name) {
}
@Override
public void onserviceconnected (componentname name, IBinder service) {
Myaidlservice = MyAIDLService.Stub.asInterface (service);
ListView list = (ListView) Findviewbyid (R.id.weidingdanlist); Load List
Setlistshow (list); Load List
}
};
public void OnCreate (Bundle savedinstancestate) {//Override OnCreate method
Super.oncreate (savedinstancestate);
Requestwindowfeature (Window.feature_no_title); Does not show the topmost bar
Setcontentview (R.layout.weidingdan);
Setlist ();//Display a list
Fanhui = (ImageButton) Findviewbyid (R.id.weidingdanfanhuibutton);
Fanhui.setimageresource (R.drawable.fanhui);
Fanhui.setonclicklistener (New Button.onclicklistener ()
{
@Override
public void OnClick (View arg0) {
Unbindservice (connection);
Finish ();
}
});
}
private void setlist () {//list here Wphoto is a picture with a content of "please later"
ListView list = (ListView) Findviewbyid (R.id.weidingdanlist);
Wphoto = (ImageView) Findviewbyid (R.id.wphoto);//Display picture
Wphoto.setimageresource (R.drawable.wphoto);//Display picture
Intent Intent = new Intent ("Com.example.servicetest.MyAIDLService"); Invoking the Service Load list
Bindservice (Intent, connection, bind_auto_create); Invoking the Service Load list
}
private void Setlistshow (ListView list) {
arraylistListitem.clear ();
Hashmap<string, object> map;
Map = new hashmap<string, object> ();
Map.put ("Itemtitle", "AAA");
Map.put ("Itemtext", "AAA");
Map.put ("Time", "AAA");
Map.put ("Image", R.drawable.kong);
Listitem.add (map);
Map = new hashmap<string, object> ();
Map.put ("Itemtitle", "BBB");
Map.put ("Itemtext", "BBB");
Map.put ("Time", "BBB");
Map.put ("Image", R.drawable.kong);
Listitem.add (map);
}
}
Build the adapter's item and the element corresponding to the dynamic array
Simpleadapter listitemadapter = new Simpleadapter (this,listitem,//data source
XML implementation of R.layout.list_items,//listitem
New string[] {"Itemtitle", "Itemtext", "Time", "Image"},
New int[] {r.id.weidingdantitle,r.id.weidingdantext,r.id.weidingdantime,r.id.weidingdanfrontimage}
);
Add and Show
List.setadapter (Listitemadapter);
Closeanim ();//make the picture disappear
}
private void Closeanim () {
Animation Animationscale;
Animationscale = new Scaleanimation (1f, 0f, 1f, 0f animation.relative_to_self, 0.5f,animation.relative_to_self, 0.5f);
Animationscale.setduration (5);
Animationscale.setfillafter (TRUE);
Wphoto.startanimation (Animationscale);
}
This program is because the list is loaded slowly, so, first display a "Please later" picture, and then load out the list after the picture disappears.
The above program, after clicking the Back button, will be returned to the previous activity, here is no problem. However, when you enter this activity again, the list is loaded first, then the picture "Please later" is displayed, and the picture disappears.
I guess it's because the finish () didn't execute ondestory () to have this effect. Is there a great God who can help me solve this problem??!!
Or can I execute ondestory () immediately after finish ()?
Help me!!!
============ Solution 1============
Well, you can do it when you're onresume.
============ Solution 2============
Finsh do you want to finish onresume,onstop,ondestory?
============ Solution 3============
The problem is not the finish destroy
What you want to achieve is completely unnecessary to consider these things, or the service is not used for this purpose.
Take a closer look at someone else's demo reference and don't take it for granted.
============ Solution 4============
Reference 5 Floor Sirenyizhi's reply:
Quote: Referring to the reply of the 3 floor davidleen29:
The problem is not the finish destroy
What you want to achieve is completely unnecessary to consider these things, or the service is not used for this purpose.
Take a closer look at someone else's demo reference and don't take it for granted.
Do you know how to write this? I read that the service can perform the following time-consuming procedures, but did not write how to write ..... I'm not going to use it. or novice, so seek the guidance of the Great God!
Service is also running in the main thread, how can go to perform time-consuming operation, time-consuming operation can create a new thread or use the system Asynctask
Android does not immediately call Ondestory at finish (), how can I immediately callback ondestory after finish?