您的位置:首页 > 移动开发 > Android开发

Android RecycleView

2016-02-14 12:27 337 查看
选择
app
,右键 —
Open Module Settings
Dependencies
+
Library Dependency
recycleview-v7


public class MainActivity extends Activity {

private RecyclerView rv;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

rv = new RecyclerView(this);
setContentView(rv);
rv.setLayoutManager(new LinearLayoutManager(this));
rv.setAdapter(new RecyclerView.Adapter() {

class ViewHolder extends RecyclerView.ViewHolder {

private TextView tv;

public ViewHolder(TextView itemView) {
super(itemView);
tv = itemView;
}

public TextView getTv() {
return tv;
}

}

@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return new ViewHolder(new TextView(parent.getContext()));
}

@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
ViewHolder vh = (ViewHolder)holder;
vh.getTv().setText("Item"+position);
}

@Override
public int getItemCount() {
return 100;
}
});
}
}


使用资源文件自定义列表项:

public class MainActivity extends Activity {

private RecyclerView rv;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

rv = new RecyclerView(this);
setContentView(rv);
rv.setLayoutManager(new LinearLayoutManager(this));
rv.setAdapter(new RecyclerView.Adapter() {

class ViewHolder extends RecyclerView.ViewHolder {

private View root;
private TextView tvTitle,tvContent;

public ViewHolder(View root) {
super(root);
tvTitle = (TextView)root.findViewById(R.id.tvTitle);
tvContent = (TextView)root.findViewById(R.id.tvContent);
}

public TextView getTvTitle() {
return tvTitle;
}

public TextView getTvContent() {
return tvContent;
}
}

@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return new ViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.list_cell,null));
}

@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
ViewHolder vh = (ViewHolder)holder;
CellData cd = data[position];
vh.getTvTitle().setText(cd.title);
vh.getTvContent().setText(cd.content);
}

@Override
public int getItemCount() {
return data.length;
}

private CellData[] data = new CellData[]{new CellData("iOS","my first career"),new CellData("Android","extra career")};
});
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: