package net.yasite.test; import net.yasite.adapter.GoodListAdapter; import net.yasite.adapter.TestAdapter; import net.yasite.entity.GoodListEntity; import net.yasite.model.GoodModel; import net.yasite.net.HandlerHelp; import net.yasite.view.XListView; import net.yasite.view.XListView.OnXListViewListener; import android.content.Context; import android.content.Intent; import android.os.Message; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; public class MainActivity extends BaseNewActivity implements OnXListViewListener{ XListView listView; TestAdapter adapter; GoodModel goodModel; int pageNumber = 1; @Override public void onRefresh() { pageNumber = 1; new GoodListHandler(context).execute(); } @Override public void onLoadMore() { new GoodListHandler(context).execute(); } @Override public void setupView() { //仅能用于初始化组件,只有赋值操作 listView = (XListView)findViewById(R.id.list_view); listView.setXListViewListener(this); listView.setFooterReady(true); listView.setPullLoadEnable(XListView.FOOTER_SHOW); } @Override public void setContent() { //有且仅有一行代码 setContentView(R.layout.activity_main); } @Override public void setModel() { //实例化model,修改组件属性,判定控件,启动获取数据的线程 adapter = new TestAdapter(context); listView.setAdapter(adapter); listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) { if(position > 0){ Intent it = new Intent(context,GoodInfoActivity.class); it.putExtra("id", adapter.getItem(position - 1).getGoods_id()); startActivity(it); } } }); listView.refresh(this); } @Override public boolean getIntentValue() { //默认永远返回true,如果需要判断Intent是否有值传过来,需要重写此方法 return true; } class GoodListHandler extends HandlerHelp{ GoodListEntity goodList; public GoodListHandler(Context context) { super(context); goodModel = new GoodModel(context); } @Override public void updateUI() { listView.stopRefresh(); listView.stopLoadMore(); if(goodList != null){ if(goodList.getList() != null && goodList.getList().size() > 0){ if(pageNumber == 1){ adapter.setList(goodList.getList()); }else{ adapter.getList().addAll(goodList.getList()); } pageNumber++; adapter.notifyDataSetChanged(); } } } @Override public void doTask(Message msg) throws Exception { goodList = goodModel.RequestGoodList(pageNumber); } @Override public void doTaskAsNoNetWork(Message msg) throws Exception { } } }