Android 4.3中的自定义EditTextDialog已中断

时间:2016-06-03 09:56:16

标签: android android-edittext android-4.3-jelly-bean

我目前正在处理某个应用程序,而且我的自定义EditText对话框上有不良行为。这是XML代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">

<android.support.design.widget.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
    <EditText
        android:id="@+id/editText_dialog"
        android:layout_width="fill_parent"
        android:inputType="textCapSentences"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:textAppearance="?android:attr/textAppearanceMedium"/>
</android.support.design.widget.TextInputLayout>

<RelativeLayout
    android:layout_marginTop="10dp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/close_dialog"
        android:id="@+id/cancel_dialog"
        android:textSize="20sp"
        android:layout_margin="20dp"
        android:layout_gravity="right"
        android:layout_toLeftOf="@+id/valid_dialog" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/validate_dialog"
        android:id="@+id/valid_dialog"
        android:textSize="20sp"
        android:layout_margin="20dp"
        android:layout_gravity="right"
        android:textColor="@android:color/holo_blue_light"
        android:layout_alignParentRight="true" />
</RelativeLayout>S7

</LinearLayout>

这是TextEditDialog

的类
package com.fitme.staffbooker;

import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.text.InputType;
import android.view.View;
import android.widget.EditText;
import android.widget.NumberPicker;


public class EditTextDialog extends Dialog {

private EditText editText;
public boolean dismissed = false;

public EditTextDialog(Context context, String title) {
    super(context, android.R.style.Theme_Holo_Light_Dialog);
    setTitle(title);
}

@Override
protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.edit_text_dialog);

    editText = (EditText) findViewById(R.id.editText_dialog);

    findViewById(R.id.valid_dialog).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            dismissed = true;
            dismiss();
        }
    });

    findViewById(R.id.cancel_dialog).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            cancel();
        }
    });
}

public void setHint(String str) {
    editText.setHint(str);
}

public void setText(String str) {
    editText.setText(str);
}

public void setInputType(int type) {
    editText.setInputType(type);
}

public String getValue() {
    return editText.getText().toString();
}
}

这是我在Galaxy S7 Edge上的输出:S7Preview

但是当我在Galaxy SIII仿真器上运行我的应用程序时,它似乎已经破碎了:

4.3 Error

似乎这只发生在4.3及以下。我不知道发生了什么。

0 个答案:

没有答案