Я использую службу специальных возможностей и хочу установить для TextText специальный EditText.
Во-первых, я получаю все события на странице рекурсивно:
if(event.getClassName().equals(EditText.class.getName())){
//event.getClassName() gets all events on a screen recursively,
//and if it was an EditText, I want these happen:
if(event.getSource().getText().equals("Hello")){ //special text
event.getSource().setText("Bla Bla Bla"); //change the text
}
}
Это выглядит нормально, но я получилIllegalStateException
исключение, и согласно this я подумал, что должен создать новый объект текущего event.getClass()
объекта.Я сделал это:
event.getClass() editText = new event.getClass();
if(editText.getText().equals("Hello")){ //a special text
editText.setText("Bla Bla Bla");
}
Хорошо, я знаю, что это абсолютно неправильно, но я имею в виду нечто подобное.Затем я попробовал это:
EditText editText = (EditText) event.getClassName();
Опять же, кажется, все в порядке, но я получил это:
java.lang.ClassCastException: java.lang.String не может быть приведен к Android.widget.EditText
Как получить класс события и создать его на объекте?Я имею в виду, есть ли способ создать новый объект EditText из текущего event
объекта?(В первом if
блоке я проверяю, что «это конкретное событие» является EditText).