Banner+ExpandableListView
来源:互联网 发布:银行家算法实验分析 编辑:程序博客网 时间:2024/06/06 17:48
import android.content.Context;import android.database.DataSetObserver;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.AsyncTask;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.EditText;import android.widget.ExpandableListAdapter;import android.widget.ExpandableListView;import android.widget.ImageView;import android.widget.TextView;import com.bumptech.glide.Glide;import com.bumptech.glide.util.Util;import com.bwie.lianxi.Bean.Bean;import com.bwie.lianxi.Utils.Utils;import com.google.gson.Gson;import com.youth.banner.Banner;import com.youth.banner.BannerConfig;import com.youth.banner.loader.ImageLoader;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity { private Banner banner; String str[] = {"http://i3.s2.dpfile.com/2010-12-20/6201691_b.jpg(249x249)/thumb.jpg","http://img.juhe.cn//cookbook/s/1/52_22e562a234ed1891.jpg","http://i1.s1.dpfile.com/pc/f59ce7b879eea202f36692aa9ead9dac(249x249)/thumb.jpg"}; private ArrayList list; private EditText edit; private ExpandableListView expand; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); banner = (Banner) findViewById(R.id.banner); edit = (EditText) findViewById(R.id.edit); expand = (ExpandableListView) findViewById(R.id.erji); list = new ArrayList<>(); for (String s:str) { list.add(s); } banner.setImageLoader(new Glide1()); banner.setImages(list); banner.setBannerStyle(BannerConfig.NUM_INDICATOR_TITLE); banner.setDelayTime(2000); banner.start(); } public class Glide1 extends ImageLoader{ @Override public void displayImage(Context context, Object path, ImageView imageView) { Glide.with(context).load(path).into(imageView); } } public void Button(View view){ String string = edit.getText().toString(); qingqiu(string); } public void qingqiu(String string){ new AsyncTask<String,Void,String>(){ private List<String> albums; private String title; List<Bean.ResultBean.DataBean.StepsBean> steps; List<Bean.ResultBean.DataBean> data; @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); Bean bean = gson.fromJson(s, Bean.class); data = bean.getResult().getData(); title = bean.getResult().getData().get(0).getTitle(); albums = bean.getResult().getData().get(0).getAlbums(); steps = bean.getResult().getData().get(0).getSteps(); erji(); } private void erji() { expand.setAdapter(new ExpandableListAdapter() { @Override public void registerDataSetObserver(DataSetObserver observer) { } @Override public void unregisterDataSetObserver(DataSetObserver observer) { } @Override public int getGroupCount() { return albums.size(); } @Override public int getChildrenCount(int groupPosition) { return steps.size(); } @Override public Object getGroup(int groupPosition) { return albums.get(groupPosition); } @Override public Object getChild(int groupPosition, int childPosition) { return steps.get(childPosition); } @Override public long getGroupId(int groupPosition) { return groupPosition; } @Override public long getChildId(int groupPosition, int childPosition) { return childPosition; } @Override public boolean hasStableIds() { return false; } @Override public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { View groupview = View.inflate(MainActivity.this, R.layout.group, null); final ImageView img = (ImageView) groupview.findViewById(R.id.img_fu); TextView textView = (TextView) groupview.findViewById(R.id.tv_fu); textView.setText(title); new AsyncTask<String,Void,Bitmap>(){ @Override protected void onPostExecute(Bitmap bitmap) { super.onPostExecute(bitmap); if(bitmap != null){ img.setImageBitmap(bitmap); }else { img.setImageResource(R.mipmap.ic_launcher); } } @Override protected Bitmap doInBackground(String... params) { try { String path = params[0]; URL url = new URL(path); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setReadTimeout(5000); connection.setConnectTimeout(5000); int code = connection.getResponseCode(); if(code == HttpURLConnection.HTTP_OK){ InputStream is = connection.getInputStream(); return BitmapFactory.decodeStream(is); } } catch (Exception e) { e.printStackTrace(); } return null; } }.execute(albums.get(groupPosition)); return groupview; } @Override public View getChildView(int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { View childview = View.inflate(MainActivity.this, R.layout.child, null); final ImageView img = (ImageView) childview.findViewById(R.id.img_zi); TextView textview = (TextView) childview.findViewById(R.id.tv_zi); textview.setText(steps.get(childPosition).getStep()); new AsyncTask<String,Void,Bitmap>(){ @Override protected void onPostExecute(Bitmap bitmap) { super.onPostExecute(bitmap); if (bitmap != null){ img.setImageBitmap(bitmap); }else { img.setImageResource(R.mipmap.ic_launcher); } } @Override protected Bitmap doInBackground(String... params) { try { String path = params[0]; URL url = new URL(path); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setConnectTimeout(5000); connection.setReadTimeout(5000); int code = connection.getResponseCode(); if(code == HttpURLConnection.HTTP_OK){ InputStream is = connection.getInputStream(); return BitmapFactory.decodeStream(is); } } catch (Exception e) { e.printStackTrace(); } return null; } }.execute(steps.get(childPosition).getImg()); return childview; } @Override public boolean isChildSelectable(int groupPosition, int childPosition) { return false; } @Override public boolean areAllItemsEnabled() { return false; } @Override public boolean isEmpty() { return false; } @Override public void onGroupExpanded(int groupPosition) { } @Override public void onGroupCollapsed(int groupPosition) { } @Override public long getCombinedChildId(long groupId, long childId) { return 0; } @Override public long getCombinedGroupId(long groupId) { return 0; } }); } @Override protected String doInBackground(String... params) { try { String path = params[0]; URL url = new URL(path); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setConnectTimeout(5000); connection.setReadTimeout(5000); int code = connection.getResponseCode(); if(code == HttpURLConnection.HTTP_OK){ InputStream is = connection.getInputStream(); String json = Utils.read(is); return json; } } catch (Exception e) { e.printStackTrace(); } return null; } }.execute("http://apis.juhe.cn/cook/query.php?key=1c4789006d667db3a36f20f7cbd6aa02&menu="+string.trim()); }}
阅读全文
0 0
- Banner+ExpandableListView
- Banner
- banner
- Banner
- Banner
- Banner
- banner
- banner
- banner
- banner
- banner
- Banner
- banner
- Banner
- banner
- Banner
- Banner
- Banner
- Linux sshd 相关服务
- HDOJ A + B Problem II 大数的加法
- 方法的重载,调用,构造器,我对它们的理解!
- ionic2中实现上拉菜单并且修改默认样式也就是自定义样式。ActionSheets。以更换/上传头像为例.
- 【Nova】nova-network网络模型之flatdhcp网络-代码学习1
- Banner+ExpandableListView
- 在线破解hash的优秀网站
- 装饰者模式,静态代理,动态代理
- JavaScript并发模型和事件循环
- MySQL 系列(二) 你不知道的数据库操作
- 0717-0721周结
- Hibernate 实体类注解
- 两个队列实现一个栈
- Java学习路线图及一些Java学习网站