package com.qiwenge.android.fragments; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import com.liuguangqiang.android.mvp.BaseUi; import com.liuguangqiang.android.mvp.Presenter; import com.qiwenge.android.R; import com.qiwenge.android.adapters.BooksAdapter; import com.qiwenge.android.base.BaseListFragment; import com.qiwenge.android.entity.Book; import com.qiwenge.android.mvp.presenter.SearchPresenter; import com.qiwenge.android.mvp.ui.SearchUi; import com.qiwenge.android.mvp.ui.SearchUiCallback; public class SearchFragment extends BaseListFragment<Book> implements SearchUi { private String keyword; private SearchUiCallback mCallback; @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); initViews(); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_base, container, false); return rootView; } @Override public void setUiCallback(SearchUiCallback searchUiCallback) { mCallback = searchUiCallback; } @Override public Presenter setPresenter() { return new SearchPresenter(getActivity(), this); } @Override public void initViews() { super.initViews(); adapter = new BooksAdapter(getActivity().getApplicationContext(), data); setEnableProgressBar(); setEmptyIcon(R.drawable.ic_empty_search); setEmptyMessage(R.string.empty_search); setAdapter(); mListView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { if (position >= 0 && position < data.size()) { mCallback.onItemClick(data.get(position)); } } }); } @Override public void requestData() { super.requestData(); mCallback.getBooks(pageindex, keyword); } public void search(String title) { keyword = title; pageindex = 1; data.clear(); adapter.notifyDataSetChanged(); requestData(); } }