package com.sxit.dreamiya.activity.kinder;
import java.util.ArrayList;
import java.util.List;
import com.easemob.chatuidemo.activity.SplashActivity;
import com.easemob.chatuidemo.adapter.MessageAdapter.ViewHolder;
import com.sxit.dreamiya.R;
import com.sxit.dreamiya.adapter.kinder.NoticeManagement_Adapter;
import com.sxit.dreamiya.base.component.BaseActivity;
import com.sxit.dreamiya.entity.notice.FinNoticeManagementList;
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.OnRefreshListener;
import com.sxit.dreamiya.utils.pulltorefresh.PullToRefreshListView;
import com.sxit.dreamiya.webservice.SoapRes;
import android.content.Context;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Parcelable;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.CheckBox;
public class NoticeManagementActivity extends BaseActivity
implements OnClickListener {
private Context context;
private List<FinNoticeManagementList> list;
private NoticeManagement_Adapter adapter;
private PullToRefreshListView notice_management_list;;
private ListView listView;
private ImageView delete_img;
private ImageView send_img;
public static List<String> notice_checked_arrayStrings;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_kinder_notice_management);
context = this;
viewInit();
setListeners();
String[] property_va = new String[] {
SplashActivity.userinfo.getPhone() };
soapService.getNoticeInfoForSim(property_va);
}
private void viewInit() {
delete_img = (ImageView) findViewById(R.id.delete_img);
send_img = (ImageView) findViewById(R.id.send_img);
notice_management_list = (PullToRefreshListView) findViewById(
R.id.notice_management_list);
listView = notice_management_list.getRefreshableView();
}
private void setListeners() {
delete_img.setClickable(true);
send_img.setClickable(true);
send_img.setOnClickListener(this);
delete_img.setOnClickListener(this);
notice_management_list
.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
CheckBox checkbox = (CheckBox) view
.findViewById(R.id.checkbox);
if (checkbox.isChecked()) {
notice_checked_arrayStrings.set(position - 1, "0");
checkbox.setChecked(false);
checkbox.setTag("0");
} else {
notice_checked_arrayStrings.set(position - 1,
list.get(position).getId());
checkbox.setChecked(true);
checkbox.setTag("1");
}
}
});
notice_management_list
.setOnRefreshListener(new OnRefreshListener<ListView>() {
@Override
public void onRefresh(
PullToRefreshBase<ListView> refreshView) {
new GetDataTask().execute();
}
});
}
private void deleteNotices() {
String res = "";
for (int i = 0; i < notice_checked_arrayStrings.size(); i++) {
if (!notice_checked_arrayStrings.get(i).equals("0")) {
if (res.equals("")) {
res = notice_checked_arrayStrings.get(i);
} else {
res = res + "," + notice_checked_arrayStrings.get(i);
}
}
}
String[] property_va = new String[] { res };
soapService.deleNoticeInfoForPhone(property_va);
// Toast.makeText(context, res, Toast.LENGTH_SHORT).show();
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.send_img:
Intent intent_send = new Intent();
intent_send.setClass(this, NoticeSendActivity.class);
startActivity(intent_send);
break;
case R.id.delete_img:
deleteNotices();
break;
default:
break;
}
}
/**
* 列表刷新
*
* @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) {
String[] property_va = new String[] {
SplashActivity.userinfo.getPhone() };
soapService.getNoticeInfoForSim(property_va);
super.onPostExecute(result);
}
}
/**
* 返回
*
* @param view
*/
public void back(View view) {
finish();
}
/**
* http回调SoapObject
*
* @param obj
*/
@Override
public void onEvent(Object obj) {
SoapRes res = (SoapRes) obj;
// webservice result
if (res.getCode().equals(SOAP_UTILS.METHOD.GETNOTICEINFOFORSIM)) {
Parcelable listState = listView.onSaveInstanceState();
notice_checked_arrayStrings = new ArrayList<String>();
if (res.isPage()) {
for (FinNoticeManagementList bean : (List<FinNoticeManagementList>) res
.getObj()) {
list.add(bean);
notice_checked_arrayStrings.add("0");
}
adapter.notifyDataSetChanged();
} else {
list = (List<FinNoticeManagementList>) res.getObj();
if (list != null) {
if (list.size() != 0) {
for (int i = 0; i < list.size(); i++) {
notice_checked_arrayStrings.add("0");
}
adapter = new NoticeManagement_Adapter(this, list);
listView.setAdapter(adapter);
}
}
}
notice_management_list.onRefreshComplete();
listView.onRestoreInstanceState(listState);
} else if (res.getCode()
.equals(SOAP_UTILS.METHOD.DELENOTICEINFOFORPHONE)) {
if (res.getObj() != null) {
if (res.getObj().toString().equals("true")) {
Toast.makeText(context, "删除成功", Toast.LENGTH_SHORT).show();
Refresh();
} else {
Toast.makeText(context, "删除失败", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(context, "删除失败", Toast.LENGTH_SHORT).show();
}
}
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
Refresh();
}
private void Refresh() {
String[] property_va = new String[] {
SplashActivity.userinfo.getPhone() };
soapService.getNoticeInfoForSim(property_va);
}
@Override
protected void onEventMainThread(RdaResultPack http) {
// TODO Auto-generated method stub
if (http.equals(SOAP_UTILS.METHOD.GETNOTICEINFOFORSIM)) {
String[] property_va = new String[] {
SplashActivity.userinfo.getPhone() };
soapService.getNoticeInfoForSim(property_va);
}
}
}