package com.freelib.multiitem.demo;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import com.freelib.multiitem.adapter.BaseItemAdapter;
import com.freelib.multiitem.adapter.holder.DataBindViewHolderManager;
import com.freelib.multiitem.demo.bean.ItemInfo;
import com.freelib.multiitem.demo.bean.UserBean;
import org.androidannotations.annotations.AfterViews;
import org.androidannotations.annotations.EActivity;
import org.androidannotations.annotations.ViewById;
import java.util.ArrayList;
import java.util.List;
@EActivity(R.layout.layout_recycler)
public class UserInfoActivity extends AppCompatActivity {
@ViewById(R.id.recyclerView)
protected RecyclerView recyclerView;
public static void startActivity(Context context) {
UserInfoActivity_.intent(context).start();
}
@AfterViews
protected void initViews() {
setTitle(R.string.user_info_title);
UserBean userBean = getUserBean();
recyclerView.setLayoutManager(new LinearLayoutManager(this));
//初始化adapter
BaseItemAdapter adapter = new BaseItemAdapter();
//为UserBean数据源注册数据绑定View Holder Manager管理类
adapter.register(ItemInfo.class, new DataBindViewHolderManager<>(
R.layout.item_info, BR.itemData));
recyclerView.setAdapter(adapter);
//构建用户信息需要展示的ItemInfo的集合,每个ItemInfo代表页面中的一行
List<ItemInfo> list = new ArrayList<>(5);
list.add(new ItemInfo("名字", userBean.getName()));
list.add(new ItemInfo("性别", userBean.getSex()));
list.add(new ItemInfo("年龄", userBean.getAge()));
list.add(new ItemInfo("城市", userBean.getAddr()));
list.add(new ItemInfo("介绍", userBean.getInfo()));
adapter.setDataItems(list);
}
/**
* 获取用户信息
*
* @return UserBean
*/
private UserBean getUserBean() {
UserBean userBean = new UserBean();
userBean.setName("张三");
userBean.setSex("男");
userBean.setInfo("简单介绍");
userBean.setAddr("中国北京");
userBean.setAge("26岁");
return userBean;
}
}