package com.chad.baserecyclerviewadapterhelper;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.Toast;
import com.chad.baserecyclerviewadapterhelper.adapter.HeaderAndFooterAdapter;
import com.chad.baserecyclerviewadapterhelper.base.BaseActivity;
import com.chad.baserecyclerviewadapterhelper.data.DataServer;
import com.chad.library.adapter.base.BaseQuickAdapter;
/**
* https://github.com/CymChad/BaseRecyclerViewAdapterHelper
*/
public class HeaderAndFooterUseActivity extends BaseActivity {
private RecyclerView mRecyclerView;
private HeaderAndFooterAdapter headerAndFooterAdapter;
private static final int PAGE_SIZE = 3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setBackBtn();
setTitle("HeaderAndFooter Use");
setContentView(R.layout.activity_header_and_footer_use);
mRecyclerView = (RecyclerView) findViewById(R.id.rv_list);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
initAdapter();
View headerView = getHeaderView(0, new View.OnClickListener() {
@Override
public void onClick(View v) {
headerAndFooterAdapter.addHeaderView(getHeaderView(1, getRemoveHeaderListener()), 0);
}
});
headerAndFooterAdapter.addHeaderView(headerView);
View footerView = getFooterView(0, new View.OnClickListener() {
@Override
public void onClick(View v) {
headerAndFooterAdapter.addFooterView(getFooterView(1, getRemoveFooterListener()), 0);
}
});
headerAndFooterAdapter.addFooterView(footerView, 0);
mRecyclerView.setAdapter(headerAndFooterAdapter);
}
private View getHeaderView(int type, View.OnClickListener listener) {
View view = getLayoutInflater().inflate(R.layout.head_view, (ViewGroup) mRecyclerView.getParent(), false);
if (type == 1) {
ImageView imageView = (ImageView) view.findViewById(R.id.iv);
imageView.setImageResource(R.mipmap.rm_icon);
}
view.setOnClickListener(listener);
return view;
}
private View getFooterView(int type, View.OnClickListener listener) {
View view = getLayoutInflater().inflate(R.layout.footer_view, (ViewGroup) mRecyclerView.getParent(), false);
if (type == 1) {
ImageView imageView = (ImageView) view.findViewById(R.id.iv);
imageView.setImageResource(R.mipmap.rm_icon);
}
view.setOnClickListener(listener);
return view;
}
private View.OnClickListener getRemoveHeaderListener() {
return new View.OnClickListener() {
@Override
public void onClick(View v) {
headerAndFooterAdapter.removeHeaderView(v);
}
};
}
private View.OnClickListener getRemoveFooterListener() {
return new View.OnClickListener() {
@Override
public void onClick(View v) {
headerAndFooterAdapter.removeFooterView(v);
}
};
}
private void initAdapter() {
headerAndFooterAdapter = new HeaderAndFooterAdapter(PAGE_SIZE);
headerAndFooterAdapter.openLoadAnimation();
mRecyclerView.setAdapter(headerAndFooterAdapter);
// mRecyclerView.addOnItemTouchListener(new OnItemClickListener() {
// @Override
// public void onSimpleItemClick(BaseQuickAdapter adapter, View view, int position) {
// Toast.makeText(HeaderAndFooterUseActivity.this, "" + Integer.toString(position), Toast.LENGTH_LONG).show();
// }
// });
headerAndFooterAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
adapter.setNewData(DataServer.getSampleData(PAGE_SIZE));
Toast.makeText(HeaderAndFooterUseActivity.this, "" + Integer.toString(position), Toast.LENGTH_LONG).show();
}
});
}
}