当前位置:   article > 正文

list的显示和响应事件_给list添加响应事件

给list添加响应事件
  1. package com.qian.tourism.activity;
  2. import java.util.ArrayList;
  3. import java.util.HashMap;
  4. import java.util.List;
  5. import java.util.regex.Matcher;
  6. import java.util.regex.Pattern;
  7. import org.eclipse.jdt.annotation.Nullable;
  8. import android.content.Intent;
  9. import android.os.Bundle;
  10. import android.support.v4.app.Fragment;
  11. import android.view.LayoutInflater;
  12. import android.view.View;
  13. import android.view.View.OnClickListener;
  14. import android.view.ViewGroup;
  15. import android.widget.Button;
  16. import android.widget.ImageView;
  17. import android.widget.ListView;
  18. import android.widget.SimpleAdapter;
  19. import android.widget.SimpleAdapter.ViewBinder;
  20. import com.alibaba.fastjson.JSON;
  21. import com.lidroid.xutils.BitmapUtils;
  22. import com.lidroid.xutils.HttpUtils;
  23. import com.lidroid.xutils.exception.HttpException;
  24. import com.lidroid.xutils.http.ResponseInfo;
  25. import com.lidroid.xutils.http.callback.RequestCallBack;
  26. import com.lidroid.xutils.http.client.HttpRequest.HttpMethod;
  27. import com.qian.tourism.Entity.Scenicentity;
  28. import com.qian.tourism.Entity.Scenicentity1;
  29. public class Tab1Fragment extends Fragment {
  30. private String cityId;
  31. private String URL = "http://apis.haoservice.com/lifeservice/travel/scenery?pid=";
  32. private String URL1 = "&page=1&key=313ece3735574549ba61f3de6a290f8a";
  33. private String URL2;
  34. private String provinceId;
  35. BitmapUtils bitmapUtils;
  36. ListView list;
  37. @Override
  38. public View onCreateView(LayoutInflater inflater,
  39. @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
  40. bitmapUtils = new BitmapUtils(getActivity());
  41. View view = inflater.inflate(R.layout.liebiao, null);
  42. // Bundle bundle = getArguments();
  43. cityId = "&cid=" + getActivity().getIntent().getStringExtra("cityId");
  44. provinceId = getActivity().getIntent().getStringExtra("provinceId");
  45. // URL2 = String.format(URL, cityId);
  46. URL2 = URL + provinceId + cityId + URL1;
  47. // 绑定XML中的ListView,作为Item的容器
  48. list = (ListView) view.findViewById(R.id.jindian);
  49. po();
  50. return view;
  51. }
  52. private void po() {
  53. HttpUtils http = new HttpUtils();
  54. http.send(HttpMethod.GET, URL2, new RequestCallBack<String>() {
  55. @Override
  56. public void onFailure(HttpException arg0, String arg1) {
  57. System.out.println("网络错误");
  58. }
  59. @Override
  60. public void onSuccess(ResponseInfo<String> arg0) {
  61. // 解析
  62. Scenicentity1 parseObject = JSON.parseObject(arg0.result,
  63. Scenicentity1.class);
  64. final List<Scenicentity> result = parseObject.getResult();
  65. int size = result.size();
  66. // 生成动态数组,并且转载数据
  67. ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
  68. for (int i = 0; i < size; i++) {
  69. HashMap<String, String> map = new HashMap<String, String>();
  70. map.put("Imgurl", result.get(i).getImgurl());
  71. map.put("Title", result.get(i).getTitle());
  72. map.put("Grade", result.get(i).getGrade());
  73. map.put("Price_min", result.get(i).getPrice_min());
  74. map.put("Address", result.get(i).getAddress());
  75. mylist.add(map);
  76. }
  77. // 生成适配器,数组===》ListItem
  78. SimpleAdapter mSchedule = new SimpleAdapter(getActivity(), // 没什么解释
  79. mylist,// 数据来源
  80. R.layout.hotel,// ListItem的XML实现
  81. // 动态数组与ListItem对应的子项
  82. new String[] { "Imgurl", "Title", "Grade", "Price_min",
  83. "Address" },
  84. // ListItem的XML文件里面的两个TextView ID
  85. new int[] { R.id.jingdian, R.id.name, R.id.xingji,
  86. R.id.qian, R.id.dizhi }){
  87. @Override
  88. public View getView(final int position,
  89. View convertView, ViewGroup parent) {
  90. View view = super.getView(position, convertView, parent);
  91. Button btn = (Button) view.findViewById(R.id.btn1);
  92. btn.setOnClickListener(new OnClickListener() {
  93. @Override
  94. public void onClick(View arg0) {
  95. Intent it=new Intent(getActivity(), SpotsActivity.class);
  96. Bundle bundle = new Bundle();
  97. bundle.putString("sid", result.get(position).getSid());
  98. it.putExtras(bundle);
  99. startActivity(it);
  100. //System.out.println("position:"+result.get(position).getSid());
  101. }
  102. });
  103. return view;
  104. }
  105. };
  106. // 添加并且显示
  107. list.setAdapter(mSchedule);
  108. mSchedule.setViewBinder(new ViewBinder() {
  109. @Override
  110. public boolean setViewValue(View view, Object data,
  111. String arg2) {
  112. if (view instanceof ImageView && data instanceof String) {
  113. String regex = "^(http|https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]";
  114. Pattern patt = Pattern.compile(regex);
  115. Matcher matcher = patt.matcher((String) data);
  116. boolean isMatch = matcher.matches();
  117. if (isMatch) {
  118. bitmapUtils.display((ImageView) view,
  119. (String) data);
  120. }
  121. return true;
  122. } else {
  123. return false;
  124. }
  125. }
  126. });
  127. }
  128. });
  129. }
  130. }



本文章中的URL已过期,提示网络错误。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/234272
推荐阅读
相关标签
  

闽ICP备14008679号