Я сталкиваюсь с этой ошибкой во время миграции проекта затмения в Android-студию.Я получаю эту ошибку на 3 классах.Все эти классы расширяют BaseActivity и вызывают поля из BaseActivity .Например, в классе SavingActivity внутри onPostExcuteMethod
я вызываю поле с именем mProgressDlg
из BaseActivity , и IDE указывает туда недопустимую прямую ссылку (ну, там нет красной линии, показывающейпод этим).
Часть BaseActivity код класса
public abstract class BaseActivity extends Activity implements OnClickListener {
public Button mBtnRefresh = null;
public Context mContext = null;
public GridView mGridView = null;
public ImageLoader mImageLoader = null;
public static ProgressDialog mProgressDlg;
public boolean mRefreshing = false;
public int mScreenWidth = 0;
public TextView mTxtNoData = null;
onPostExcute метод в SavingActivity :
protected void onPostExecute(Void result) {
super.onPostExecute(result);
if (SavingActivity.this.mProgressDlg != null) {
try {
SavingActivity.this.mProgressDlg.dismiss();
} catch (Exception e) {
e.printStackTrace();
}
}
SavingActivity.this.mProgressDlg = null;
if (SavingActivity.this.mMusicInfo != null) {
SavingActivity.this.mStrMusicFilePath = SavingActivity.this.mContext.getFilesDir() + CookieSpec.PATH_DELIM + SavingActivity.this.mMusicInfo.strMusicFileName;
SavingActivity.this.refreshPage();
}
}
}
Дайте мне знать, если вам нужно что-то еще для анализа.
РЕДАКТИРОВАТЬ: Я даже прокомментировал метод onPostExecute
и попытался построить apk из cli gradlew lintRelease
, но он указываетошибка `незаконная прямая ссылка на строку, которую я фактически прокомментировал.Пожалуйста, смотрите прикрепленные изображения.
Журнал ошибок с терминала:
> Task :app:compileReleaseJavaWithJavac FAILED
E:\Android-Projects-Workspace\name\app\src\main\java\com\name\activities\SavingActivity.java:113: error: illegal forward reference
if (BaseActivity.mProgressDlg != null) {
^