由于作业要求写一个个人日程管理的应用,
使用AS开发,在模拟器上跑出了自己所要求的功能,但是打包成APK,安装在手机上则发现有一个AlterDialog出现错误:
一加5T(显示正常):
小米5x(开放版,安卓8.1.0):
荣耀V9(安卓8.0.0):
出错的是AlterDialog中的一个TimePicker组件
想知道前辈们有没有遇到过这种情况?
详细代码:
此AlterDialog的代码:
//弹出AlertDialog实现添加日程
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
LayoutInflater inflater = LayoutInflater.from(MainActivity.this);
View viewDialog = inflater.inflate(R.layout.add_todo,null);
final EditText add_title = (EditText) viewDialog.findViewById(R.id.ed_title);
final EditText add_note = (EditText)viewDialog.findViewById(R.id.ed_note);
final DatePicker add_remind_date = (DatePicker)viewDialog.findViewById(R.id.dp_remind_date);
final TimePicker add_remind_time = (TimePicker)viewDialog.findViewById(R.id.tp_remind_time);
builder.setView(viewDialog);
//给弹出窗口添加标题
builder.setTitle("增加日程");
//确认按钮
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@RequiresApi(api = Build.VERSION_CODES.M)
@Override
public void onClick(DialogInterface dialog, int which) {
ToDo toDoBean = new ToDo();
toDoBean.title = add_title.getText().toString();
toDoBean.note = add_note.getText().toString();
toDoBean.remind_date = add_remind_date.getYear()+"-"+(add_remind_date.getMonth()+1)+"-"+add_remind_date.getDayOfMonth();
toDoBean.remind_time = add_remind_time.getHour()+":"+add_remind_time.getMinute();
mDatebaseHelper.insertToDo(toDoBean);
mToDoList.add(toDoBean);
madapter.notifyDataSetChanged();
//同时设置提醒
long ti;
ti = isOver(toDoBean.remind_date+"-"+toDoBean.remind_time,Calendar.getInstance());
if (ti != -1) {
setAlarm(ti,mToDoList.size(),toDoBean.title,toDoBean.remind_date+" "+toDoBean.remind_time,toDoBean.note);
}else {
//过期则不设置提醒
}
}
});
//取消按钮
builder.setNegativeButton("Cancel",null);
builder.create().show();
}
});
AlterDialog的布局文件:
<?xml version="1.0" encoding="utf-8"?>
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center">
<EditText
android:id="@+id/ed_title"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_margin="10dp"
android:hint="输入标题"
android:singleLine="true" />
<EditText
android:id="@+id/ed_note"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_margin="10dp"
android:hint="输入具体安排"/>
<DatePicker
android:id="@+id/dp_remind_date"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:datePickerMode="spinner"
android:calendarViewShown="false">
</DatePicker>
<TimePicker
android:id="@+id/tp_remind_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:timePickerMode="spinner">
</TimePicker>
希望有前辈赐教!!!
账户没有C币悬赏,有空闲时间的前辈请赐教。