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;
}
}