Это действительно помогло бы, если бы вы показали , где произошла ошибка (и правильно с отступом в коде), но это, безусловно, выглядит как one ваших проблем:
if(PhoneModels[item]=="Pub Date")
{@Override
protected Dialog onCreateDialog(int id)
Вы не можете объявить метод в теле if
, что-то вроде условного переопределения.
Вы также пытаетесь объявить закрытую переменную внутри метода, которая недопустималибо.
Трудно точно понять, для чего предназначен ваш код, если честно, - и создание одного анонимного внутреннего класса в другом действительно не помогает в этом отношении.Можете ли вы извлечь свои анонимные внутренние классы в «нормальные» классы (возможно, все еще внутренние классы, если это поможет)?
Кроме того, обратите внимание, что сравнение строк с использованием ==
в Java почти всегда некорректно.Он будет сравнивать ссылки , а не проверять, равны ли строки.