Нужна помощь в понимании сообщения logcat ClassCastException - PullRequest
1 голос
/ 31 марта 2019
    final EditText edt =findViewById(R.id.type_text);
    final TextView txt= findViewById(R.id.empty_text);
    Button   btn =      findViewById(R.id.button_add);
    final String value = edt.getText().toString();

    btn.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            txt.append(value+"\n");
            edt.setText("");
        }
    });

Это строка 40 -> final EditText edt = findViewById (R.id.type_text);

Logcat message
Caused by: java.lang.ClassCastException: android.support.design.widget.TextInputLayout cannot be cast to android.widget.EditText at com.example.todo.activitity2.onCreate(activitity2.java:40)

Ответы [ 2 ]

2 голосов
/ 31 марта 2019

В вашем XML-файле макета есть TextInputLayout с идентификатором type_text, который вы пытаетесь преобразовать в EditText .

В вашем XML-файле измените это TextInputLayout на EditText

OR

В вашем файле Class.java исправьте это: final EditText edt = findViewById(R.id.type_text);

до

final TextInputLayout your_name = findViewById(R.id.type_text);

1 голос
/ 31 марта 2019

вам нужно изменить это:

final EditText edt = findViewById(R.id.type_text);

В соответствующий класс: (R.id.type_text равен TextInputLayout, и вы создали его как EditText, и это то, что вызывает исключение)

final TextInputLayout edt = findViewById(R.id.type_text);
...