ListView请求网络数据的使用
来源:互联网 发布:mac海马模拟器怎么用 编辑:程序博客网 时间:2024/06/11 08:15
XListView请求网络数据的使用;
导入xListview
Activity实现 XListView.IXListViewListener
重写 onRefresh ,onLoad 方法
public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener { private Adater adater; private List<Goods.ResultBean.RowsBean> list = new ArrayList<>(); private XListView xListView; private Handler handler; private DrawerLayout drawerLayout; private ImageView iv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); handler = new Handler(); adater = new Adater(); xListView.setAdapter(adater); initdata(); } private void initView() { xListView = (XListView) findViewById(R.id.techan_xListView); drawerLayout = (DrawerLayout) findViewById(R.id.DrawerLayout); iv = (ImageView) findViewById(R.id.image); xListView.setPullLoadEnable(true); //接口回调一定要配, 容易忘记; xListView.setXListViewListener(this); } private void initdata() { new MyAsyncTaskString().execute("http://api.fang.anjuke.com/m/android/1.3/shouye/recInfosV3/?city_id=14&lat=40.04652&lng=116.306033&api_key=androidkey&sig=9317e9634b5fbc16078ab07abb6661c5&macid=45cd2478331b184ff0e15f29aaa89e3e&app=a-ajk&_pid=11738&o=PE-TL10-user+4.4.2+HuaweiPE-TL10+CHNC00B260+ota-rel-keys%2Crelease-keys&from=mobile&m=Android-PE-TL10&cv=9.5.1&cid=14&i=864601026706713&v=4.4.2&pm=b61&uuid=1848c59c-185d-48d9-b0e9-782016041109&_chat_id=0&qtime=20160411091603"); } class Adater extends BaseAdapter { public Adater() { super(); } @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View containerView, ViewGroup viewGroup) { containerView = View.inflate(MainActivity.this, R.layout.listview, null); ImageView imageView = (ImageView) containerView.findViewById(R.id.imageView); TextView tv = (TextView) containerView.findViewById(R.id.textView); tv.setText(list.get(i).getInfo().getTags()); imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { drawerLayout.openDrawer(iv); } }); new MyAsyncTaskImage(imageView).execute(list.get(i).getInfo().getDefault_image()); return containerView; } } class MyAsyncTaskString extends AsyncTask<String, Void, String> { @Override protected void onPreExecute() { super.onPreExecute(); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); Goods goods = gson.fromJson(s, Goods.class); List<Goods.ResultBean.RowsBean> tempList = goods.getResult().getRows(); Log.e("wzq", "onPostExecute:tempList "+tempList.size()); list.addAll(tempList); Log.e("wzq", "onPostExecute:list.size() "+list.size()); adater.notifyDataSetChanged(); } @Override protected String doInBackground(String... strings) { return new Utiles().getAsytemString(strings[0]); } @Override protected void onProgressUpdate(Void... values) { super.onProgressUpdate(values); } } class MyAsyncTaskImage extends AsyncTask<String, Void, Bitmap> { private ImageView image; public MyAsyncTaskImage(ImageView image) { this.image = image; } @Override protected void onPreExecute() { super.onPreExecute(); } @Override protected void onPostExecute(Bitmap bitmap) { super.onPostExecute(bitmap); image.setImageBitmap(bitmap); } @Override protected void onProgressUpdate(Void... values) { super.onProgressUpdate(values); } @Override protected Bitmap doInBackground(String... strings) { return new Utiles().getAsytemImage(strings[0]); } } // 关闭 public void onLoad() { xListView.stopRefresh(); xListView.stopLoadMore(); xListView.setRefreshTime("刚刚"); } //刷新 @Override public void onRefresh() { list.clear(); initdata(); onLoad(); } //加载更多 @Override public void onLoadMore() { //1--保留之前集合中的数据 //2 把新数据添加到list中,更新适配器; initdata(); onLoad(); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { this.finish(); } return false; }}
阅读全文
0 0
- ListView请求网络数据的使用
- ListView通过Volley进行网络数据的请求更新
- ListView展示 网络请求的数据, 并LoaderImage请求网络图片
- 使用httpClient请求的网络数据
- XListView请求网络数据的使用
- Retrofit网络请求数据的使用
- Android_请求网络数据展示到Listview
- 网络请求+ListView展示数据+数据库
- OkHttp请求网络数据,并listview展示
- 文章标题 listview网络请求数据展示
- Retrofit 请求网络数据 并适配到 ListView
- 使用苹果自带的NSURLSession网络请求请求数据
- 网络数据的请求
- 数据的网络请求
- Android--使用原生技术实现ListView(原生技术实现网络异步请求,解析json数据)
- 使用异步请求网络数据
- Xutils的使用和listview的显示网络数据
- Android通过请求网络数据实现ListView,ListView的优化、图片的缓存、子控件的点击事件。
- 如何把patch加到buildroot中
- Python 常见的正则表达式
- openCV3.3 + VS2017
- 集群搭建tomcat+keepalived+nginx+memcached
- java生成随机数
- ListView请求网络数据的使用
- [FAQ12836]如何用CMD 去开关AAL 各个子feature
- Maven工程中不识别mybatis的Mapper.xml文件问题
- XML字符串与MAP格式互转
- Qt堆栈窗体
- iOS马甲包被打回问题处理方案
- 曾经做的传统的通知实现,标题闪烁
- 多源最短路径——floyd-Warshall算法的拓展
- 第五周项目一