Поле доступа в закрытом классе посредством отраженияJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Поле доступа в закрытом классе посредством отражения

Сообщение Гость »


Я пытаюсь получить доступ к частному полю mRadialTimePickerModeButton в android.widget.TimePickerClockDelegate

TimePickerClockDelegate — это закрытый класс, расширяющий TimePicker.AbstractTimePickerDelegate, который реализует TimePicker.TimePickerDelegate

Я не могу создать новый экземпляр, мне нужно изменить это поле в этом конкретном экземпляре.

Я пробовал получить к нему доступ следующим образом:

Поле поля = TimePickerDialog.class.getDeclaredField("mTimePicker"); поле.setAccessible(истина); TimePicker timePicker = (TimePicker) field.get(this); Поле делегата = TimePicker.class.getDeclaredField("mDelegate"); делегатField.setAccessible(истина); Делегат объекта = делегатField.get(timePicker); Поле buttonField = делегат.getClass().getDeclaredField("mRadialTimePickerModeButton"); buttonField.setAccessible(истина); ImageButton радиальныйTimePickerModeButton = (ImageButton) buttonField.get(делегат); Получение: в классе Landroid/widget/TimePickerClockDelegate нет поля mRadialTimePickerModeButton; (объявление android.widget.TimePickerClockDelegate появляется в /system/framework/framework.jar!classes4.dex)
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»