package com.hyrt.cei.ui.phonestudy;
import java.util.ArrayList;
import java.util.List;
import com.hyrt.cei.R;
import com.hyrt.cei.adapter.PhoneStudyForumAdapter;
import com.hyrt.cei.application.CeiApplication;
import com.hyrt.cei.dzb.ui.HomePageDZB;
import com.hyrt.cei.util.MyTools;
import com.hyrt.cei.util.XmlUtil;
import com.hyrt.cei.vo.Courseware;
import com.hyrt.cei.webservice.service.Service;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.Toast;
public class SayGroupListActivity extends Activity implements OnClickListener {
private ListView lv;
List<Courseware> saygroupCoursewares = new ArrayList<Courseware>();
private static final int NO_NET = 1;
private static final int DATA_READY = 2;
// 当前页索引
private int index = 0;
// 讨论组下所有的课件列表
private List<Courseware> courses = new ArrayList<Courseware>();
//讨论组列表适配器
private PhoneStudyForumAdapter adapter;
//更多按钮
private LinearLayout footer;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.phone_study_saygrouplistcourse);
overridePendingTransition(R.anim.push_in, R.anim.push_out);
initBottom();
initLvData();
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int position, long arg3) {
Intent intent = new Intent(SayGroupListActivity.this,
SayGroupActivity.class);
intent.putExtra("coursewareinfo",
saygroupCoursewares.get(position));
startActivity(intent);
}
});
footer = (LinearLayout) LayoutInflater.from(this).inflate(
R.layout.phone_study_listview_bottom, null);
footer.findViewById(R.id.phone_study_morebtn).setOnClickListener(
new OnClickListener() {
@Override
public void onClick(View v) {
index++;
for (int i = index * 20; i < (index + 1) * 20
&& i < courses.size(); i++) {
if(i == courses.size()-1)
footer.setVisibility(View.GONE);
saygroupCoursewares.add(courses.get(i));
}
adapter.notifyDataSetChanged();
}
});
lv.addFooterView(footer);
for (int i = 0; i < HomePageActivity.phoneStudyContainer.size(); i++) {
try {
SayGroupListActivity isSayGroupListActivity = (SayGroupListActivity) (HomePageActivity.phoneStudyContainer
.get(i));
isSayGroupListActivity.finish();
} catch (Exception e) {
}
}
HomePageActivity.phoneStudyContainer.add(this);
findViewById(R.id.back_btn).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
SayGroupListActivity.this.finish();
}
});
findViewById(R.id.phone_study_search_btn).setOnClickListener(
new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(SayGroupListActivity.this,
SearchCourseActivity.class);
startActivity(intent);
}
});
findViewById(R.id.phone_study_refresh).setOnClickListener(this);
findViewById(R.id.phone_study_downmanager).setOnClickListener(this);
}
Handler handler = new Handler() {
@Override
public void dispatchMessage(Message msg) {
switch (msg.arg1) {
case NO_NET:
findViewById(R.id.phone_study_progressLl).setVisibility(
View.GONE);
MyTools.exitShow(SayGroupListActivity.this, ((Activity)SayGroupListActivity.this).getWindow().getDecorView(), "网络有问题!");
break;
case DATA_READY:
for (int i = index * 20; i < (index + 1) * 20
&& i < courses.size(); i++) {
if(i == courses.size()-1){
footer.setVisibility(View.GONE);
}else{
if(footer.getVisibility() == View.GONE)
footer.setVisibility(View.VISIBLE);
}
saygroupCoursewares.add(courses.get(i));
}
findViewById(R.id.phone_study_progressLl).setVisibility(
View.GONE);
adapter = new PhoneStudyForumAdapter(
SayGroupListActivity.this, saygroupCoursewares, lv);
lv.setAdapter(adapter);
break;
}
}
};
private void initLvData() {
lv = (ListView) findViewById(R.id.phone_study_selfcourse_listview);
findViewById(R.id.phone_study_progressLl).setVisibility(View.VISIBLE);
new Thread(new Runnable() {
@Override
public void run() {
String result = Service
.querySchoolForumInfo(((CeiApplication) getApplication()).columnEntry
.getUserId());
Message message = handler.obtainMessage();
if (((CeiApplication) getApplication()).isNet()) {
if (XmlUtil.parseReturnCode(result).equals("-1")) {
message.arg1 = NO_NET;
} else {
message.arg1 = DATA_READY;
XmlUtil.parseErrorCoursewares(result, courses);
for (int i = 0; i < courses.size(); i++) {
Courseware courseware = courses.get(i);
courseware.setSay(true);
((CeiApplication) (getApplication())).dataHelper.saveCourseware(courseware);
}
}
} else {
Courseware courseware = new Courseware();
courseware.setSay(true);
courses = ((CeiApplication) (getApplication())).dataHelper
.getCoursewares(courseware);
message.arg1 = DATA_READY;
}
handler.sendMessage(message);
}
}).start();
}
@Override
protected void onDestroy() {
HomePageActivity.phoneStudyContainer.remove(this);
super.onDestroy();
}
private void initBottom() {
ImageView headIv = (ImageView) findViewById(R.id.phone_study);
ImageView newIv = (ImageView) findViewById(R.id.phone_study_new);
ImageView nominateIv = (ImageView) findViewById(R.id.phone_study_nominate);
ImageView freeIv = (ImageView) findViewById(R.id.phone_study_free);
ImageView kindIv = (ImageView) findViewById(R.id.phone_study_kind);
ImageView selfIv = (ImageView) findViewById(R.id.phone_study_self);
ImageView studyIv = (ImageView) findViewById(R.id.phone_study_study);
ImageView sayIv = (ImageView) findViewById(R.id.phone_study_say);
headIv.setOnClickListener(this);
newIv.setOnClickListener(this);
nominateIv.setOnClickListener(this);
freeIv.setOnClickListener(this);
kindIv.setOnClickListener(this);
selfIv.setOnClickListener(this);
studyIv.setOnClickListener(this);
sayIv.setOnClickListener(this);
}
@Override
public void onClick(View v) {
Intent intent = null;
switch (v.getId()) {
case R.id.phone_study:
intent = new Intent(this, HomePageDZB.class);
startActivity(intent);
break;
case R.id.phone_study_downmanager:
intent = new Intent(this, PreloadActivity.class);
startActivity(intent);
break;
case R.id.phone_study_new:
intent = new Intent(this, HomePageActivity.class);
startActivity(intent);
break;
case R.id.phone_study_nominate:
intent = new Intent(this, NominateActivity.class);
startActivity(intent);
break;
case R.id.phone_study_free:
intent = new Intent(this, FreeActivity.class);
startActivity(intent);
break;
case R.id.phone_study_kind:
intent = new Intent(this, KindsActivity.class);
startActivity(intent);
break;
case R.id.phone_study_self:
intent = new Intent(this, SelfSelectCourseActivity.class);
startActivity(intent);
break;
case R.id.phone_study_study:
intent = new Intent(this, PlayRecordCourseActivity.class);
startActivity(intent);
break;
case R.id.phone_study_refresh:
intent = new Intent(this, SayGroupListActivity.class);
startActivity(intent);
break;
}
}
}