package my.project.easyrecharge.activity;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import my.project.easyrecharge.F.Method;
import my.project.easyrecharge.R;
import my.project.easyrecharge.adapter.AdaRecord;
import my.project.easyrecharge.contants.Key;
import my.project.easyrecharge.model.Record;
import android.os.Bundle;
import android.widget.ListView;
import com.google.gson.reflect.TypeToken;
public class ActResultRecord extends ActScrollEffectForListView {
private ListView listView;
private List<Record> list;
private AdaRecord adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.act_result_record);
init();
}
private void init() {
initActionBar();
initViews();
}
@Override
protected void initAbContent() {
setAbTitle(R.string.activity_title_record);
}
private void initViews() {
listView = (ListView) findViewById(R.id.listview_record);
list = new ArrayList<Record>();
}
@Override
protected void onResume() {
super.onResume();
loadContent();
}
private void loadContent() {
Bundle bundle = getIntent().getExtras();
if (bundle != null) {
String params = initParams(bundle);
loadDataVolley(true, Method.QUERY_RECORD, params);
}
}
private String initParams(Bundle bundle) {
StringBuilder sb = new StringBuilder();
sb.append("?schoolId=");
sb.append(bundle.getString(Key.SCHOOL_ID));
sb.append("&apartId=");
sb.append(bundle.getString(Key.APART_ID));
sb.append("&roomname=");
sb.append(bundle.getString(Key.ROOM_NUM));
return sb.toString();
}
@Override
protected void disposeResult(String apiName, String content) {
super.disposeResult(apiName, content);
if (!apiName.equals(Method.QUERY_RECORD))
return;
list.clear();
try {
Type collectionType = new TypeToken<List<Record>>() {
}.getType();
List<Record> newList = fromJson(content, collectionType);
list.addAll(newList);
} catch (Exception e) {
e.printStackTrace();
showToast(R.string.error_data);
}
if (list.size() > 0) {
setAdatper();
} else {
showToast(R.string.no_record);
}
}
private void setAdatper() {
if (adapter == null) {
adapter = new AdaRecord(this, list);
listView.setAdapter(adapter);
} else {
adapter.notifyDataSetChanged();
}
setListViewHeightBasedOnChildren(listView);
}
}