package com.ntp.ui.notice; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.TextView; import com.handmark.pulltorefresh.library.PullToRefreshBase; import com.handmark.pulltorefresh.library.PullToRefreshListView; import com.ntp.base.BaseActivity; import com.ntp.model.gson.HomeworkNoticeGson; import com.ntp.network.HttpRequestHelper; import com.ntp.network.okhttp.ObjectCallbackHandler; import com.ntp.ui.R; import com.ntp.adapter.HomeworkNoticeAdapter; import com.ntp.util.AppConfig; import com.ntp.util.ErrorCodeUtil; import com.squareup.okhttp.Request; import org.xutils.view.annotation.ContentView; import org.xutils.view.annotation.Event; import org.xutils.view.annotation.ViewInject; import java.io.IOException; import java.util.ArrayList; import java.util.List; /** * 作业消息 * @author yanxing */ @ContentView(R.layout.activity_homework_notice) public class HomeworkNoticeActivity extends BaseActivity implements PullToRefreshBase.OnRefreshListener2{ @ViewInject(R.id.pull_to_refresh_listview) private PullToRefreshListView mPullToRefreshView; @ViewInject(R.id.tip) private TextView tip; private List<HomeworkNoticeGson.ScoresEntity> mHomeworkNoticeList=new ArrayList<HomeworkNoticeGson.ScoresEntity>(); private HomeworkNoticeAdapter mHomeworkNoticeAdapter; private String mName; private int mCurrentPage=1;//默认加载第一页问题 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mName= AppConfig.getLoadName(getApplicationContext()); if (mName.equals("")){ tip.setVisibility(View.VISIBLE); return; } mHomeworkNoticeAdapter =new HomeworkNoticeAdapter(this, mHomeworkNoticeList); mPullToRefreshView.setAdapter(mHomeworkNoticeAdapter); mPullToRefreshView.setMode(PullToRefreshBase.Mode.PULL_FROM_START); mPullToRefreshView.setOnRefreshListener(this); mPullToRefreshView.setRefreshing(true);//自动刷新 } @Event(value = R.id.pull_to_refresh_listview,type = AdapterView.OnItemClickListener.class) private void onItemClick(AdapterView<?> parent, View view, int position, long id) { String scoreId= ((TextView)view.findViewById(R.id.id)).getText().toString(); Intent intent=new Intent(getApplicationContext(), HomeworkDetailActivity.class); intent.putExtra("scoreId", scoreId); startActivity(intent); } //下拉刷新 @Override public void onPullDownToRefresh(PullToRefreshBase refreshView) { loadData(true); } //上拉刷新 @Override public void onPullUpToRefresh(PullToRefreshBase refreshView) { loadData(false); } /** * 加载数据 * @param refreshDownOrUp true下拉刷新,false上拉刷新 */ public void loadData(final boolean refreshDownOrUp){ if (!refreshDownOrUp){//上拉刷新 mCurrentPage++; } HttpRequestHelper.getInstance().getHomeworkList(mName, String.valueOf(mCurrentPage), String.valueOf(10), new ObjectCallbackHandler<HomeworkNoticeGson>() { @Override public void onFailure(Request request, IOException e, int response) { super.onFailure(request, e, response); mPullToRefreshView.onRefreshComplete(); showToast(ErrorCodeUtil.SERVER_ERROR); } @Override public void onResponse(HomeworkNoticeGson homeworkNoticeGson) { super.onResponse(homeworkNoticeGson); if (homeworkNoticeGson != null) { if (refreshDownOrUp) { mPullToRefreshView.setMode(PullToRefreshBase.Mode.BOTH); mCurrentPage = homeworkNoticeGson.getCurrentPage(); mPullToRefreshView.onRefreshComplete(); mHomeworkNoticeAdapter.updateHomeworkNotice(homeworkNoticeGson.getScores()); } else { for (HomeworkNoticeGson.ScoresEntity entity : homeworkNoticeGson.getScores()) { mHomeworkNoticeList.add(entity); } mHomeworkNoticeAdapter.updateHomeworkNotice(mHomeworkNoticeList); mPullToRefreshView.onRefreshComplete(); } } } }); } }