其他不变,Activity 需要改变
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.DividerItemDecoration;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.Button;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
RecyclerView rv;
List<ItemBrean> list = new ArrayList<ItemBrean>();
/**
* 网格
*/
private Button mBt;
/**
* 网格
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
//初始化数据
rv= (RecyclerView) findViewById(R.id.rv);
}
private void initView() {
mBt = (Button) findViewById(R.id.bt);
mBt.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.bt:
String str = mBt.getText().toString().trim();
if ("网格".equals(str)){
show(false);
mBt.setText("垂直");
}else{
show(true);
mBt.setText("网格");
}
break;
}
}
private void show(boolean flag){
//设置布局管理器
//垂直列表
// rv.setLayoutManager(new LinearLayoutManager(this));
//网格模式
// rv.setLayoutManager(new GridLayoutManager(this, 2));
//添加垂直分割线
rv.addItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.VERTICAL));
//水平分割线
RecyclerView.LayoutManager layoutManager=null;
if (flag){
layoutManager=new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false);
}else{
layoutManager=new GridLayoutManager(this,2);
}
rv.setLayoutManager(layoutManager);
rv.addItemDecoration(new DividerItemDecoration(this,DividerItemDecoration.HORIZONTAL));
//横向列表false是从左往右,ture是从右往左
// rv.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false));
for (int i = 0; i < 100; i++) {
ItemBrean itemBrean = new ItemBrean("name" + i, "age" + i);
list.add(itemBrean);
}
//创建适配器
MyAdapter myAdapter = new MyAdapter(this, list);
rv.setAdapter(myAdapter);
}
}
}