Android项目打包成APK在三台手机运行出现三种情况;

由于作业要求写一个个人日程管理的应用,
使用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币悬赏,有空闲时间的前辈请赐教。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!