package com.sxit.dreamiya.activity.kinder; import java.util.List; import com.easemob.chatuidemo.activity.SplashActivity; import com.sxit.dreamiya.R; import com.sxit.dreamiya.adapter.kinder.NewsList_Adapter; import com.sxit.dreamiya.adapter.kinder.PhotoList_Adapter; import com.sxit.dreamiya.base.component.BaseActivity; import com.sxit.dreamiya.entity.photo.FinPhotoList; import com.sxit.dreamiya.http.RdaResultPack; import com.sxit.dreamiya.utils.SOAP_UTILS; import com.sxit.dreamiya.utils.pulltorefresh.PullToRefreshBase; import com.sxit.dreamiya.utils.pulltorefresh.PullToRefreshBase.OnLastItemVisibleListener; import com.sxit.dreamiya.utils.pulltorefresh.PullToRefreshBase.OnRefreshListener; import com.sxit.dreamiya.utils.pulltorefresh.PullToRefreshListView; import com.sxit.dreamiya.webservice.SoapRes; import android.content.Context; import android.content.res.Resources; import android.os.AsyncTask; import android.os.Bundle; import android.os.Parcelable; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ListView; public class PhotoActivity extends BaseActivity { private Resources resources; private Context context; private int pageIndex = 1; private List<FinPhotoList> list; private PhotoList_Adapter adapter; private PullToRefreshListView listView_photolist; private ListView listView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_kinder_photo); resources = this.getResources(); context = this; viewInit(); setListeners(); String[] property_va = new String[] { "10", pageIndex + "", SplashActivity.userinfo.getComId() }; soapService.getMagazineInfo(property_va, false); } private void viewInit(){ listView_photolist = (PullToRefreshListView) findViewById(R.id.listView_photolist); listView = listView_photolist.getRefreshableView(); } private void setListeners() { listView_photolist.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Bundle bundle = new Bundle(); bundle.putSerializable("finphotolist", list.get(position - 1)); intent.putExtras(bundle); intent.setClass(PhotoActivity.this, PhotoInfo_Activity.class); startActivity(intent); } }); listView_photolist.setOnRefreshListener(new OnRefreshListener<ListView>() { @Override public void onRefresh(PullToRefreshBase<ListView> refreshView) { new GetDataTask().execute(); } }); // end of list listView_photolist.setOnLastItemVisibleListener(new OnLastItemVisibleListener() { @Override public void onLastItemVisible() { String[] property_va = new String[] { "10", ++pageIndex + "", SplashActivity.userinfo.getComId() }; soapService.getMagazineInfo(property_va, true); } }); } /** * 列表刷新 * * @author why * */ private class GetDataTask extends AsyncTask<Void, Void, String> { @Override protected String doInBackground(Void... params) { try { Thread.sleep(1500); } catch (InterruptedException e) { } return ""; } @Override protected void onPostExecute(String result) { pageIndex = 1; String[] property_va = new String[] { "10", pageIndex + "", SplashActivity.userinfo.getComId() }; soapService.getMagazineInfo(property_va, false); super.onPostExecute(result); } } /** * 返回 * * @param view */ public void back(View view) { finish(); } /** * http回调SoapObject * @param obj */ public void onEvent(Object obj) { SoapRes res = (SoapRes) obj; //webservice result if (res.getCode().equals(SOAP_UTILS.METHOD.GETMAGAZINEINFO)) { Parcelable listState = listView.onSaveInstanceState(); if (res.isPage()) { for (FinPhotoList bean : (List<FinPhotoList>) res.getObj()) { list.add(bean); } adapter.notifyDataSetChanged(); } else { list = (List<FinPhotoList>) res.getObj(); if (list != null) { if (list.size() != 0) { adapter = new PhotoList_Adapter(this, list); listView.setAdapter(adapter); } } } listView_photolist.onRefreshComplete(); listView.onRestoreInstanceState(listState); } } @Override protected void onEventMainThread(RdaResultPack http) { // TODO Auto-generated method stub if (http.equals(SOAP_UTILS.METHOD.GETMAGAZINEINFO)) { String[] property_va = new String[] { "10", pageIndex + "", SplashActivity.userinfo.getComId() }; soapService.getMagazineInfo(property_va, false); } } }