漫画城之搜索

来源:互联网 发布:网络看电视需要什么 编辑:程序博客网 时间:2024/05/01 19:16

Fragment       搜索

package com.bwei.fragment;

import java.util.ArrayList;
import java.util.List;

import com.bwei.adapter.Myf1gvitemAdapter;
import com.bwei.adapter.Myf1lvAdapter;
import com.bwei.adapter.Myf3lvAdapter;
import com.bwei.fragment.item.F1gvitemInfoActivity;
import com.bwei.fragment.item.F1gvlvitemActivity;
import com.bwei.utils.EntWorkUtils;
import com.bwei.uu.R;
import com.bwei.vo.Category;
import com.bwei.vo.ChapterList;
import com.bwei.vo.ComicBook;
import com.bwei.vo.ChapterList.Result.Chapterlist;
import com.bwei.vo.ComicBook.Result.BookList;
import com.bwei.vo.Comicblist;
import com.google.gson.Gson;

import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.GridView;
import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Toast;

public class FragMent4 extends Fragment {
    private EditText ed1;
    private Button button1;
    private GridView gv_f4;

    private String json;
    private Myf3lvAdapter adapter;
    private String tname;
    private ArrayList<BookList> booklist;
    private ListView lv_f4;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        
        View v = inflater.inflate(R.layout.fragment4, null);
        // 控件
        ed1 = (EditText) v.findViewById(R.id.ed1);
        button1 = (Button) v.findViewById(R.id.button1);
        lv_f4 = (ListView) v.findViewById(R.id.lv_f4);        
        initData();
        // 监听事件
        button1.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                if (booklist.size() != 0) {
                    booklist.clear();
                    adapter.notifyDataSetChanged();
                }
                tname = ed1.getText().toString().trim();
                if ("".equals(tname)) {
                    Toast.makeText(getActivity(), "请输入关键字!", 0).show();
                } else {
                    startFind();
                }
            }
        });
        // 监听事件
        lv_f4.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {

                // 进入跳转
                Intent intent = new Intent(getActivity(),
                        F1gvlvitemActivity.class);
                intent.putExtra("blist", booklist.get(position));
                startActivity(intent);
            }
        });

        return v;
    }

    // 解析
    protected void startFind() {
        new Thread(new Runnable() {

            @Override
            public void run() {
                String json = EntWorkUtils
                        .getStr("http://japi.juhe.cn/comic/category?key=eddbc1ce67ba5ede8e31a69adc40c315");
                Gson gson = new Gson();
                Category type = gson.fromJson(json, Category.class);
                List<String> str = null;
                if (type.error_code == 0) {
                    str = type.result;
                } else {
                    System.out.println(type.reason);
                }
                List<BookList> book_lists = new ArrayList<BookList>();
                for (String t : str) {
                    String json2 = EntWorkUtils
                            .getStr("http://japi.juhe.cn/comic/book?key=eddbc1ce67ba5ede8e31a69adc40c315&type="
                                    + t);
                    book_lists.addAll(findList(json2));
                }
                for (BookList book : book_lists) {
                    if (book.name.contains(tname)) {
                        booklist.add(book);
                    }
                }
            }
        }).start();
    }

    private List<BookList> findList(String json) {
        Gson gson = new Gson();
        Comicblist comicList = gson.fromJson(json, Comicblist.class);
        if (comicList.error_code == 200) {
            List<BookList> booklist = comicList.result.bookList;
            return booklist;
        } else {
            System.out.println(comicList.reason);
        }
        return null;
    }

    private void initData() {
        booklist = new ArrayList<BookList>();
        adapter = new Myf3lvAdapter(getActivity(), booklist);
        lv_f4.setAdapter(adapter);
    }


}

ListView     适配器 代码:

package com.bwei.adapter;

import java.util.List;

import com.bwei.fragment.item.F1gvActivity;
import com.bwei.uu.R;
import com.bwei.vo.ComicBook.Result.BookList;
import com.nostra13.universalimageloader.core.ImageLoader;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.TextView;

public class Myf3lvAdapter extends BaseAdapter{

    
    Context context;
    List<BookList> booklist;
    
    public Myf3lvAdapter(Context context, List<BookList> booklist) {
        // TODO Auto-generated constructor stub
        this.context=context;
        this.booklist=booklist;
    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return booklist.size();
    }

    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return 0;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if(convertView==null){
            convertView=View.inflate(context, R.layout.f3_lv_item, null);
            
        }
        ImageView iv=(ImageView) convertView.findViewById(R.id.imageView1);
        TextView tname=(TextView) convertView.findViewById(R.id.tname);
        TextView ttime=(TextView) convertView.findViewById(R.id.ttime);
        tname.setText(booklist.get(position).name);
        ttime.setText("更新时间:"+booklist.get(position).lastUpdate);
        ImageLoader.getInstance().displayImage(booklist.get(position).coverImg, iv);
        
        return convertView;
    }

}



1 0
原创粉丝点击