查询数据解析后的数据保存数据库上下拉多条目展示xlv

来源:互联网 发布:淘宝宝贝摄影兼职 编辑:程序博客网 时间:2024/06/05 15:54
public class Fragment02 extends Fragment implements XListView.IXListViewListener {    private EditText et_select;    private View view;    private Button btnselectright;    private XListView xlv;    private Myadapter adapter;    private boolean flag;    private int index = 1;    private String name;    private SharedPreferences sp;    private SharedPreferences.Editor edit;    private UserDao userDao;    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        view = inflater.inflate(R.layout.activity_right, container, false);        return view;    }    @Override    public void onActivityCreated(@Nullable Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        et_select = (EditText) view.findViewById(R.id.et_select);        btnselectright = (Button) view.findViewById(R.id.btnselectright);        xlv = (XListView) view.findViewById(R.id.xlv);        xlv.setPullLoadEnable(true);        xlv.setXListViewListener(this);        userDao = new UserDao(getContext());//        xlv.setAdapter(new Myadapter());        btnselectright.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                name = et_select.getText().toString();                getData("http://apis.juhe.cn/cook/query.php", index + "", 10 + "");            }        });        sp = getActivity().getSharedPreferences("file", Context.MODE_PRIVATE);        edit = sp.edit();    }    private void getData(String path, String pn, String rn) {        new AsyncTask<String, Void, String>() {            @Override            protected void onPostExecute(String s) {                super.onPostExecute(s);                if (s == null)                    return;                Gson gson = new Gson();                Bean bean = gson.fromJson(s, Bean.class);                List<Bean.ResultBean.DataBean.StepsBean> steps = bean.getResult().getData().get(0).getSteps();                if (adapter == null) {                    adapter = new Myadapter(steps);                    xlv.setAdapter(adapter);                } else {                    adapter.loadMore(steps, flag);                    adapter.notifyDataSetChanged();                }            }            @Override            protected String doInBackground(String... params) {                String path = params[0];                String pn = params[1];                String rn = params[2];                try {                    URL url = new URL(path);                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();                    connection.setRequestMethod("POST");                    connection.setConnectTimeout(5000);                    connection.setReadTimeout(5000);                    OutputStream os = connection.getOutputStream();                    os.write(("key=bd4b48ad4fc5d1b1664db0b5ca471451&menu=" + URLEncoder.encode(name, "utf-8") + "&pn=" + pn + "&rn=" + rn).getBytes());                    os.flush();                    int code = connection.getResponseCode();                    if (code == 200) {                        InputStream is = connection.getInputStream();                        String json = Readfile.readfromFile(is);                        System.out.println("============" + json);                        edit.putString("name", json);                        edit.commit();                        boolean b = userDao.add(json);                        if (b) {                            System.out.println("成功");                        } else {                            System.out.println("失败");                        }                        return json;                    }                } catch (Exception e) {                    e.printStackTrace();                }                return null;            }        }.execute(path, pn, rn);    }    @Override    public void onRefresh() {        ++index;        getData("http://apis.juhe.cn/cook/query.php", index + "", 10 + "");        flag = true;        xlv.stopRefresh(true);    }    @Override    public void onLoadMore() {        ++index;        getData("http://apis.juhe.cn/cook/query.php", index + "", 10 + "");        flag = false;        xlv.stopLoadMore();    }    private class Myadapter extends BaseAdapter {        private List<Bean.ResultBean.DataBean.StepsBean> steps;        private ViewHolder viewholder;        public Myadapter(List<Bean.ResultBean.DataBean.StepsBean> steps) {            this.steps = steps;        }        public void loadMore(List<Bean.ResultBean.DataBean.StepsBean> stepss, boolean flag) {            for (Bean.ResultBean.DataBean.StepsBean bean : stepss) {                if (flag) {                    steps.add(0, bean);                } else {                    steps.add(bean);                }            }        }        DisplayImageOptions options = new DisplayImageOptions.Builder()                .cacheInMemory(true)                .cacheOnDisk(true)                .build();        @Override        public int getCount() {            return steps.size();        }        @Override        public Object getItem(int position) {            return steps.get(position);        }        @Override        public long getItemId(int position) {            return position;        }        @Override        public View getView(int position, View convertView, ViewGroup parent) {            if (convertView == null) {                convertView = convertView.inflate(getContext(), R.layout.actovity_text, null);                viewholder = new ViewHolder();                viewholder.imageview = (ImageView) convertView.findViewById(R.id.imga);                viewholder.textview = (TextView) convertView.findViewById(R.id.tva);                convertView.setTag(viewholder);            } else {                viewholder = (ViewHolder) convertView.getTag();            }            viewholder.textview.setText(steps.get(position).getStep());            ImageLoader.getInstance().displayImage(steps.get(position).getImg(), viewholder.imageview, options);            return convertView;        }        class ViewHolder {            ImageView imageview;            TextView textview;        }    }}
阅读全文
0 0
原创粉丝点击