上拉刷新,下拉加载
来源:互联网 发布:网页鼠标自动点击软件 编辑:程序博客网 时间:2024/04/27 21:24
MainActivity.class
public class MainActivity extends Activity implements IXListViewListener { private XListView mListView; private ArrayList<Art> items = new ArrayList<Art>(); private Handler mHandler; private int start = 0; private ListView lv; private Main_item mAdapter; private String id; private ImageView iamge; private int key = 10; private int f=0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); iamge = (ImageView) findViewById(R.id.i_main_image); initSlidingMenu(); MyAsyncTask1 m = new MyAsyncTask1(); m.execute("http://121.42.8.95:8090/EasyApp/mobile/JSONRequest?req=al&key=" + id + "&start=0&size=10&graduation=2"); } private void onLoad() { mListView.stopRefresh(); mListView.stopLoadMore(); mListView.setRefreshTime("刚刚"); } @Override public void onRefresh() { mHandler.postDelayed(new Runnable() { @Override public void run() { start=f+10; items.clear(); geneItems(start, 10); f=start; onLoad(); } }, 2000); } protected void geneItems(int start, int key) { // TODO Auto-generated method stub MyAsyncTask1 m = new MyAsyncTask1(); m.execute("http://121.42.8.95:8090/EasyApp/mobile/JSONRequest?req=al&key=" + id + "&start=" +start + "&size=" + key + "&graduation=2"); } @Override public void onLoadMore() { mHandler.postDelayed(new Runnable() { @Override public void run() { if(start>0){ start-=10; geneItems(start, 10); }else{ start=0; } mAdapter.notifyDataSetChanged(); onLoad(); } }, 2000); } private void initSlidingMenu() { // 初始化SlidingMenu对象 final SlidingMenu menu = new SlidingMenu(this); // 设置侧滑方式为左侧侧滑 menu.setMode(SlidingMenu.RIGHT); /* * 设置拖拽模式 SlidingMenu.TOUCHMODE_FULLSCREEN全屏触摸有效 * SlidingMenu.TOUCHMODE_MARGIN 拖拽边缘有效 SlidingMenu.TOUCHMODE_NONE * 不响应触摸事件 */ menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); // 设置阴影的宽度 menu.setShadowWidthRes(R.dimen.shadow_width); // 设置阴影的图片 menu.setShadowDrawable(R.drawable.shadow); // 设置sldingMenu的剩余大小---=内容显示页对应的dp大小 menu.setBehindOffsetRes(R.dimen.slidingmenu_offset); // 设置滑动时的渐变程度 menu.setFadeDegree(0.35f); // 使SlidingMenu附加在Activity右边 // SlidingMenu.SLIDING_CONTENT 将侧滑栏设置为在内容位置 // SlidingMenu.SLIDING_WINDOW 将侧滑栏设置为在整个窗口呈现 menu.attachToActivity(this, SlidingMenu.SLIDING_WINDOW); // 设置SlidingMenu关联的布局 menu.setMenu(R.layout.menu); lv = (ListView) menu.findViewById(R.id.l_lv); MyAsyncTask m = new MyAsyncTask(); m.execute("http://121.42.8.95:8090/EasyApp/mobile/JSONRequest?req=cl&graduation=2"); iamge.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub menu.toggle(); } }); } class MyAsyncTask extends AsyncTask<String, Void, Info> { @Override protected Info doInBackground(String... params) { // TODO Auto-generated method stub return getData(params[0]); } @Override protected void onPostExecute(final Info result) { // TODO Auto-generated method stub super.onPostExecute(result); SpindmenuAdapter adapter = new SpindmenuAdapter(MainActivity.this, result.contents); lv.setAdapter(adapter); lv.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub key=10; start=0; items.clear(); mAdapter=null; MyAsyncTask1 m = new MyAsyncTask1(); id = result.contents.get(arg2).id; m.execute("http://121.42.8.95:8090/EasyApp/mobile/JSONRequest?req=al&key=" + result.contents.get(arg2).id + "&start=0&size=10&graduation=2"); } }); } @Override protected void onPreExecute() { super.onPreExecute(); } } class MyAsyncTask1 extends AsyncTask<String, Void, Articles> { private ProgressDialog d; @Override protected Articles doInBackground(String... params) { // TODO Auto-generated method stub return getData1(params[0]); } @Override protected void onPostExecute(final Articles result) { // TODO Auto-generated method stub super.onPostExecute(result); mListView = (XListView) findViewById(R.id.xListView); mListView.setPullLoadEnable(true); items.addAll(result.articles); if(items.isEmpty()){ start=start-10; geneItems(start, 10); } if(mAdapter==null){ mAdapter = new Main_item(MainActivity.this, items); mListView.setAdapter(mAdapter); } // mListView.setPullLoadEnable(false); // mListView.setPullRefreshEnable(false); mListView.setXListViewListener(MainActivity.this); mHandler = new Handler(); mListView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub Intent intent = new Intent(MainActivity.this, SecondActivity.class); intent.putExtra("id", result.articles.get(arg2-1).id); startActivity(intent); } }); d.cancel(); } @Override protected void onPreExecute() { d = new ProgressDialog(MainActivity.this); d.setTitle("正在加载......"); d.show(); super.onPreExecute(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } public Articles getData1(String string) { // TODO Auto-generated method stub try { HttpURLConnection conn = (HttpURLConnection) new URL(string) .openConnection(); conn.setReadTimeout(6000); conn.setConnectTimeout(6000); conn.setRequestMethod("GET"); if (conn.getResponseCode() == 200) { InputStream is = conn.getInputStream(); int len; byte[] arr = new byte[1024]; StringBuffer buffer = new StringBuffer(); while ((len = is.read(arr)) != -1) { buffer.append(new String(arr, 0, len)); } Gson g = new Gson(); Articles i = g.fromJson(buffer.toString(), Articles.class); return i; } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } public Info getData(String string) { // TODO Auto-generated method stub try { HttpURLConnection conn = (HttpURLConnection) new URL(string) .openConnection(); conn.setReadTimeout(6000); conn.setConnectTimeout(6000); conn.setRequestMethod("GET"); if (conn.getResponseCode() == 200) { InputStream is = conn.getInputStream(); int len; byte[] arr = new byte[1024]; StringBuffer buffer = new StringBuffer(); while ((len = is.read(arr)) != -1) { buffer.append(new String(arr, 0, len)); } Gson g = new Gson(); Info i = g.fromJson(buffer.toString(), Info.class); System.out.println(i.contents.get(0).name); return i; } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; }}
0 0
- 上拉加载 下拉刷新
- 下拉刷新 * 上拉加载
- 上拉刷新 下拉加载
- 下拉刷新,上拉加载
- 上拉刷新下拉加载
- 下拉刷新,上拉加载
- 上拉刷新,下拉加载
- 上拉刷新下拉加载
- 上拉刷新下拉加载
- 上拉加载,下拉刷新
- 上拉刷新,下拉加载
- 下拉刷新,上拉加载
- 上拉加载,下拉刷新
- 上拉刷新,下拉加载
- 下拉加载上拉刷新
- 下拉刷新-上拉加载
- 上拉刷新,下拉加载
- 上拉加载,下拉刷新
- CTSVerifier test 教程
- ios开发中类方法与self的注意点 与实例方法区别
- wordpress使用记录
- linux ps命令学习
- MySQL 建表字段长度的限制问题
- 上拉刷新,下拉加载
- 圣人不仁
- 利用PopupWindow做出仿IOS样式的选择器
- mac版Office 2016激活、破解
- java 高级for循环
- JCo 在Java中调用ABAP服务
- asp.net WebForm之用户自定义控件
- myeclipse 导入多模块maven项目
- weblogic JVM初始化配置