package com.camnter.newlife.ui.databinding.view;
import android.databinding.ViewDataBinding;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import com.camnter.databinding.BindingAdapter;
import com.camnter.databinding.BindingHolder;
import com.camnter.newlife.R;
import com.camnter.newlife.bean.ratingrank.RatingFund;
import com.camnter.newlife.core.activity.BaseBindingActivity;
import com.camnter.newlife.databinding.ActivityRatingRankBinding;
import com.camnter.newlife.databinding.ItemRatingRankingBinding;
import com.camnter.newlife.ui.databinding.collaborator.RatingRankCollaborator;
import com.camnter.newlife.ui.databinding.mock.Injection;
import com.camnter.newlife.widget.titilebar.TitleBar;
import java.util.List;
/**
* Description:RatingRankActivity
* Created by:CaMnter
*/
public class RatingRankActivity extends BaseBindingActivity {
private ActivityRatingRankBinding binding;
private RatingRankCollaborator collaborator;
private BindingAdapter<RatingFund> adapter;
@Override protected int getLayoutId() {
return R.layout.activity_rating_rank;
}
@Override
protected void onCastingContentBinding(@NonNull ViewDataBinding contentBinding) {
if (contentBinding instanceof ActivityRatingRankBinding) {
this.binding = (ActivityRatingRankBinding) contentBinding;
}
}
/**
* on after data binding
*
* @param savedInstanceState savedInstanceState
*/
@Override protected void onAfterDataBinding(@Nullable Bundle savedInstanceState) {
this.collaborator = new RatingRankCollaborator(this,
Injection.provideRatingRankRepository());
this.adapter = new BindingAdapter<RatingFund>(this) {
@Override
public int[] getItemLayouts() {
return new int[] { R.layout.item_rating_ranking };
}
@Override
public void onBindViewHolder(BindingHolder holder, int position) {
super.onBindViewHolder(holder, position);
ItemRatingRankingBinding binding = (ItemRatingRankingBinding) holder.getBinding();
binding.setCollaborator(collaborator);
}
};
this.binding.setAdapter(adapter);
this.binding.setCollaborator(this.collaborator);
this.collaborator.query(this);
}
@Override protected boolean getTitleBar(TitleBar titleBar) {
return false;
}
public void onQuerySuccess(@NonNull List<RatingFund> funds) {
this.adapter.setList(funds);
}
}