package com.yuyh.sprintnba.ui;
import android.content.Context;
import android.content.Intent;
import android.os.Handler;
import android.support.v7.widget.SearchView;
import android.view.View;
import com.yuyh.library.utils.toast.ToastUtils;
import com.yuyh.library.view.list.indexablelistview.IndexEntity;
import com.yuyh.library.view.list.indexablelistview.IndexableStickyListView;
import com.yuyh.sprintnba.R;
import com.yuyh.sprintnba.base.BaseAppCompatActivity;
import com.yuyh.sprintnba.base.BaseWebActivity;
import com.yuyh.sprintnba.http.bean.player.Players;
import com.yuyh.sprintnba.ui.adapter.PlayersAdapter;
import com.yuyh.sprintnba.ui.presenter.Presenter;
import com.yuyh.sprintnba.ui.presenter.impl.PlayersListPresenterImpl;
import com.yuyh.sprintnba.ui.view.PlayersView;
import java.util.ArrayList;
import java.util.List;
import butterknife.InjectView;
/**
* @author yuyh.
* @date 16/6/11.
*/
public class PlayerListActivity extends BaseAppCompatActivity
implements PlayersView, IndexableStickyListView.OnItemContentClickListener {
public static void start(Context context){
Intent intent = new Intent(context, PlayerListActivity.class);
context.startActivity(intent);
}
@InjectView(R.id.indexListView)
IndexableStickyListView lvAllTeam;
@InjectView(R.id.searchview)
SearchView mSearchView;
private PlayersAdapter playersAdapter;
private List<Players.Player> list = new ArrayList<>();
private Presenter presenter;
@Override
protected int getContentViewLayoutID() {
return R.layout.activity_all_players;
}
@Override
protected void initViewsAndEvents() {
showLoadingDialog();
setTitle("球员列表");
playersAdapter = new PlayersAdapter(this);
lvAllTeam.setAdapter(playersAdapter);
lvAllTeam.setOnItemContentClickListener(this);
mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
// 委托处理搜索
lvAllTeam.searchTextChange(newText);
return true;
}
});
presenter = new PlayersListPresenterImpl(this, this);
presenter.initialized();
}
@Override
public void showAllPlayers(List<Players.Player> data) {
list.clear();
list.addAll(data);
//adapter.notifyDataSetChanged();
lvAllTeam.bindDatas(list);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
hideLoadingDialog();
}
}, 1300);
}
@Override
public void failure(String msg) {
ToastUtils.showSingleLongToast("加载数据失败");
}
@Override
public void onItemClick(View v, IndexEntity indexEntity) {
Players.Player data = (Players.Player) indexEntity;
BaseWebActivity.start(this, data.detailUrl, data.enName, true, true);
}
}