Недавно я выполнил исходный код adw-launcher, некоторые из классов этого проекта используют защищенную переменную классов android. Ниже приведен фрагмент кода:Доступ к защищенной переменной класса android
@Override
protected boolean setFrame(int left, int top, int right, int bottom) {
if (mLeft != left || mRight != right || mTop != top || mBottom != bottom) {
mBackgroundSizeChanged = true;
}
return super.setFrame(left, top, right, bottom);
}
mLeft, mRight все защищены.
Как это сделать? Я полностью в этом нуждаюсь, вам нужно руководствоваться.
Я пошел по этой ссылке: How do I build the Android SDK with hidden and internal APIs available?
Если я заменить новый файл фляги, надеюсь, что это будет доступ к этим новым файлам, мне придется изменить эти файлы? Я просто не знаю.
Благодаря
Но тогда как они скомпилируют источник? Например, они использовали переменную вида mleft, которая защищена. Я обновил квест. – viv
@viv Извините, я просто не уверен, что вы просите здесь. Так вы получаете доступ к защищенным переменным других классов с отражением (хотя и довольно опасным образом). Что вам нужно знать? – Zyerah
Вышеприведенный фрагмент кода относится к классу, который расширяет TextView еще затмение, показывая ошибку. – viv