前言
时间转换工具的开发与实现。
一、效果展示
二、代码
准备工作和样式布局与我开发的另一个小工具(长度转换工具)所用一致,详情请看我上一篇文章。
链接: Android开发实用小工具二——长度转换工具
主代码
TimeConversionActivity.java :
public class TimeConversionActivity extends AppCompatActivity implements View.OnClickListener, AdapterView.OnItemSelectedListener {
// 定义下拉列表需要显示的单位名称
private static final String[] nameArray = {
"年", "周", "天", "小时", "分钟", "秒",
"毫秒", "微秒", "皮秒"
};
// 定义下拉列表需要显示的单位数组
private static final String[] unitArray = {
"y", "wk", "d", "h", "min", "s",
"ms", "μs", "ps"
};
private Spinner sp_select1;
private Spinner sp_select2;
TextView tv_value1;
TextView tv_unit1;
TextView tv_value2;
TextView tv_unit2;
private List<Button> buttonList = new ArrayList<>();
ImageButton iv_del;
// 单位一
private String unit1 = "小时";
// 单位二
private String unit2 = "分钟";
// 数值一
private String value1 = "0";
// 数值二
private String value2 = "0";
// 临时数值
private BigDecimal tempValue;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_value_conversion);
// 获取控件,并添加点击事件
findViewById(R.id.iv_back).setOnClickListener(this);
sp_select1 = findViewById(R.id.sp_select1);
sp_select2 = findViewById(R.id.sp_select2);
tv_value1 = findViewById(R.id.tv_value1);
tv_unit1 = findViewById(R.id.tv_unit1);
tv_value2 = findViewById(R.id.tv_value2);
tv_unit2 = findViewById(R.id.tv_unit2);
buttonList.add(findViewById(R.id.btn_0));
buttonList.add(findViewById(R.id.btn_1));
buttonList.add(findViewById(R.id.btn_2));
buttonList.add(findViewById(R.id.btn_3));
buttonList.add(findViewById(R.id.btn_4));
buttonList.add