package com.qiwenge.android.fragments; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import com.loopj.android.http.RequestParams; import com.qiwenge.android.act.BookDetailActivity; import com.qiwenge.android.adapters.BooksAdapter; import com.qiwenge.android.async.AsyncUtils; import com.qiwenge.android.base.BaseListFragment; import com.qiwenge.android.constant.BookStatus; import com.qiwenge.android.entity.Book; import com.qiwenge.android.entity.BookList; import com.qiwenge.android.utils.ApiUtils; import com.qiwenge.android.utils.http.JsonResponseHandler; public class BookFragment extends BaseListFragment<Book> { @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); initViews(); } @Override public void initViews() { super.initViews(); adapter = new BooksAdapter(getActivity(), data); setEnableProgressBar(); setEnableEmptyView(); setAdapter(); mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { if (position >= 0 && position < data.size()) { Bundle extra = new Bundle(); extra.putParcelable(BookDetailActivity.EXTRA_BOOK, data.get(position)); startActivity(BookDetailActivity.class, extra); } } }); } @Override public void requestData() { super.requestData(); getBooks(); } private String searchCategory; private String searchKeyword; public void search(String category) { searchCategory = category; requestData(); } private void getBooks() { String url = ApiUtils.getBooks(); RequestParams params = new RequestParams(); params.put("status", "" + BookStatus.APPROVED); params.put("page", "" + pageindex); if (searchKeyword != null) { params.put("title", searchKeyword); } if (searchCategory != null) { params.put("categories", searchCategory); } AsyncUtils.getBooks(getActivity(), url, params, new JsonResponseHandler<BookList>(BookList.class) { @Override public void onSuccess(BookList result) { if (result != null && result.result != null) { requestSuccess(result.result); } } @Override public void onFinish() { requestFinished(); } }); } }