Android 开发技术
- 1.RecycleView 设置监听器
- 2.TimepickerView使用
- 3.EditText隐藏下划线
1.RecycleView 设置监听器
步骤:
1、在Adapter中新建一个接口,定义接口内部的方法,并将该接口在adapter中实现
编写回调接口的基本步骤:
1.创建该接口
2.定义该接口的内部方法
3.实现该接口
4.接口方法的调用
1.Adapter 内
public void setOnItemClickListener(OnItemClickListener listener) {this.mListener=listener;}public interface OnItemClickListener{void onItemClick(int position);}
2.Adapter 内onBindViewHolder函数内
@Overridepublic void onBindViewHolder(@NonNull final ViewHolder holder, final int position) {DeviceEntity deviceEntity=mdevices.get(position);holder.tv_devices_name.setText(deviceEntity.getDevicename());holder.itemView.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {mListener.onItemClick(position);}});}
3.外部使用该方法
private void setListener() {devListAdapter.setOnItemClickListener(new DevListAdapter.OnItemClickListener() {@Overridepublic void onItemClick(int position) {DeviceEntity device =devices.get(position);Log.e("device",device.getDevicename());Intent intent =new Intent(DeviceManagerActivity.this, Devices_mesActivity.class);startActivity(intent);}});}
2.TimepickerView使用
步骤:
1.在build.gradle引用
implementation 'com.contrarywind:Android-PickerView:3.2.6'
然后就可以直接使用了。
代码:
//Textview day;
Calendar selectedDate = Calendar.getInstance();//系统当前时间Date date =selectedDate.getTime();day.setText(getTimes(date));day.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {timePickerView.show(day);//Todo:更新echarts}});//因为系统Calendar的月份是从0-11的,所以如果是调用Calendar的set方法来设置时间,月份的范围也要是从0-11Calendar startDate = Calendar.getInstance();startDate.set(2019, 0, 1);Calendar endDate = Calendar.getInstance();endDate.set(2040, 11, 31);timePickerView =new TimePickerView.Builder(this, new TimePickerView.OnTimeSelectListener() {@Overridepublic void onTimeSelect(Date date, View v) {TextView tv = (TextView) v;tv.setText(getTimes(date));}})//年月日时分秒的显示与否,不设置则默认全部显示,这里可自行定制.setType(new boolean[]{true,true,true,false,false,false}).setLabel("年","月","日","","","").isCenterLabel(true).setDividerColor(R.color.gray).setContentSize(20).setDate(selectedDate).setRangDate(startDate, endDate).setDecorView(null).setOutSideCancelable(true)//点击屏幕,点在控件外部范围时,是否取消显示.build();}private String getTimes(Date date) {//可根据需要自行格式化数据显示SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");return format.format(date);}
另外:还有一些选项参考
.setCancelText("取消")//取消按钮文字.setSubmitText("确定")//确认按钮文字.setContentSize(18)//滚轮文字大小.setTitleSize(20)//标题文字大小.setTitleText("Title")//标题文字.setOutSideCancelable(true)//点击屏幕,点在控件外部范围时,是否取消显示.isCyclic(true)//是否循环滚动.setTitleColor(Color.BLACK)//标题文字颜色.setSubmitColor(Color.BLUE)//确定按钮文字颜色.setCancelColor(Color.BLUE)//取消按钮文字颜色.setTitleBgColor(0xFF666666)//标题背景颜色 Night mode.setBgColor(0xFF333333)//滚轮背景颜色 Night mode.setDate(selectedDate)// 如果不设置的话,默认是系统时间*/.setRangDate(startDate,endDate)//起始终止年月日设定.setLabel("年","月","日","时","分","秒")//默认设置为年月日时分秒.isCenterLabel(false) //是否只显示中间选中项的label文字,false则每项item全部都带有label。.isDialog(true)//是否显示为对话框样式
3.EditText隐藏下划线
xml文件中在hint前加入:
android:background="@null"