private RecyclerView rl;
private Button quan;
private Button fan;
private List<Bean> list=new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rl = (RecyclerView) findViewById(R.id.rl);
quan = (Button) findViewById(R.id.quan);
fan = (Button) findViewById(R.id.fan);
ListView lv= (ListView) findViewById(R.id.lv);
for (int i=0;i<20;i++){
Bean bean=new Bean("条目"+i,false);
list.add(bean);
}
LinearLayoutManager mLinear=new LinearLayoutManager(this);
rl.setLayoutManager(mLinear);
//如果可以确定每个item的高度是固定的,设置这个选项可以提高性能
rl.setHasFixedSize(true);
mLinear.setOrientation(LinearLayoutManager.HORIZONTAL);
RlPagePter Rpage=new RlPagePter(this);
Rpage.setList(list);
rl.setAdapter(Rpage);
final LvpagePter Lpage=new LvpagePter(this);
Lpage.setList(list);
lv.setAdapter(Lpage);
quan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
for(int i=0;i<list.size();i++){
list.get(i).setIschend(true);
}
Lpage.notifyDataSetChanged();
}
});
fan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
for (int i=0;i<list.size();i++){
list.get(i).setIschend(false);
}
Lpage.notifyDataSetChanged();
}
});
Lpage.setOnItemClickListener(new LvpagePter.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
Toast.makeText(MainActivity.this, ""+position, Toast.LENGTH_SHORT).show();
}
});
Lpage.setOnItemLongClickListener(new LvpagePter.OnItemLongClickListener() {
@Override
public void onItemLongClick(View view, final int position) {
//Toast.makeText(MainActivity.this, "这是长安时间", Toast.LENGTH_SHORT).show();
AlertDialog.Builder customizeDialog =
new AlertDialog.Builder(MainActivity.this);
final View dialogView = LayoutInflater.from(MainActivity.this)
.inflate(R.layout.item3,null);
customizeDialog.setTitle("我是一个自定义Dialog");
customizeDialog.setView(dialogView);
customizeDialog.setPositiveButton("确定",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 获取EditView中的输入内容
TextView edit_text =
(TextView) dialogView.findViewById(R.id.tvi);
edit_text.setText(""+position);
}
});
customizeDialog.show();
}
});
/* lv.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
return true;
}
});*/
}
}
//
适配器
public class LvpagePter extends BaseAdapter{
private Context context;
private List<Bean> list=new ArrayList<>();
private OnItemClickListener itemClickListener;
private OnItemLongClickListener itemLogClickListener;
public interface OnItemClickListener {
void onItemClick(View view, int position);
}
//定义条目的长按事件
public interface OnItemLongClickListener {
void onItemLongClick(View view, int position);
}
public void setOnItemClickListener(OnItemClickListener itemClickListener){
this.itemClickListener=itemClickListener;
}
public void setOnItemLongClickListener(OnItemLongClickListener itemLogClickListener){
this.itemLogClickListener=itemLogClickListener;
}
public LvpagePter(Context context){
this.context=context;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View inflate = View.inflate(context, R.layout.item, null);
TextView tvname= (TextView) inflate.findViewById(R.id.tvname);
CheckBox ckb= (CheckBox) inflate.findViewById(R.id.ckb);
tvname.setText(list.get(position).getName());
ckb.setChecked(list.get(position).getIschend());
ckb.setFocusable(false);
inflate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(itemClickListener!=null){
itemClickListener.onItemClick(v,position);
}
}
});
inflate.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
if(itemLogClickListener!=null){
itemLogClickListener.onItemLongClick(v,position);
}
return true;
}
});