EditText падает при добавлении типа ввода - PullRequest
0 голосов
/ 19 февраля 2012

В моем приложении для Android у меня есть диалоговое окно, в котором пользователь вводит информацию в EditText и сохраняет данные. Пока все работало нормально, пока я не добавил inputType к EditTexts. Кажется, я не могу найти решение этой проблемы, я довольно плохо знаком с программированием на Android и программированием в целом, так что это может быть глупой ошибкой, но я не могу понять это. Вот часть кода:

private Dialog dialog() {
    Dialog diUnit = new Dialog(Overzicht.this);
    diUnit.setContentView(R.layout.unitdialog);
    EditText etKM = (EditText) diUnit.findViewById(R.id.etKM);
    etKM.setInputType(InputType.TYPE_CLASS_NUMBER);
    diUnit.setTitle("Add unit");
    diUnit.setCancelable(false);
    diUnit.getWindow().getAttributes().width = LayoutParams.FILL_PARENT;
    bUnitDialogSave = (Button) diUnit.findViewById(R.id.bUnitDialogVoegToe);
    bUnitDialogCancel = (Button) diUnit.findViewById(R.id.bUnitDialogCancel);
    bUnitDialogCancel.setOnClickListener(this);
    bUnitDialogAdd.setOnClickListener(this);
    return diUnit;
}

И логкат:

image 1

Я знаю, что он еще не хранит ввод EditText, но проблема начинается, как только я добавляю строку setInputType.

1 Ответ

0 голосов
/ 19 февраля 2012

Попробуйте раздуть макет R.layout.unitdialog в View (с помощью LayoutInflater), а затем найдите это EditText в надутом View:

private Dialog dialog() {
    Dialog diUnit = new Dialog(Overzicht.this);
    LayoutInflater inflater = (LayoutInflater) getLayoutInflater();
    View content = inflater.inflate(R.layout.unitdialog, null);
    diUnit.setContentView(content);
    EditText etKM = (EditText) content.findViewById(R.id.etKM);
    etKM.setInputType(InputType.TYPE_CLASS_NUMBER);
    diUnit.setTitle("Add unit");
    diUnit.setCancelable(false);
    diUnit.getWindow().getAttributes().width = LayoutParams.FILL_PARENT;
    bUnitDialogSave = (Button) diUnit.findViewById(R.id.bUnitDialogVoegToe);
    bUnitDialogCancel = (Button) diUnit.findViewById(R.id.bUnitDialogCancel);
    bUnitDialogCancel.setOnClickListener(this);
    bUnitDialogAdd.setOnClickListener(this);
    return diUnit;
...