Почему конечная переменная не подлежит проверке?
Я переделываю некоторый код, чтобы сделать его пригодным для использования с новым RootTools 3.0 (который исправляет важную ошибку):
Один раздел, который я переписал, выглядит следующим образом, с классом обратного вызова для лучшей читаемости. Я добавляю размер двух каталогов, чтобы указать общий объем кэша браузера, который может быть очищен:
@Override
protected void onResume() {
super.onResume();
//Refresh views:
try {
//Show browser's cache size:
ShellCommands.getListing("/data/data/com.android.browser/app_databases/", null, new Callback<SumSize>() {
@Override
public void call(SumSize localstore) throws InterruptedException, IOException, TimeoutException, RootDeniedException {
final SumSize total = localstore;
getFirefoxProfiles(new Callback<String>() {
@Override
public void call(String input) throws InterruptedException, IOException, TimeoutException, RootDeniedException {
ShellCommands.getListing(input+"/Cache/", null, new Callback<SumSize>() {
@Override
public void call(SumSize input) {
total.add(input);
((TextView)findViewById(R.id.lblClearBrowser)).setText(total.getReadable());
}
});
}
});
}
});
Немного сложнее, чем было с .waitforfinish
, но у меня возникла серьезная проблема в отладке: внутренний внутренний вызов (ввод SumSize), кажется, работает правильно, но нет никакого способа увидеть, каково общее количество при отладке. Это ошибка в Java с final
внешние переменные? Ошибка в Android? Ошибка в Eclipse?
1 ответ
Ваше представление Переменных должно быть установлено, чтобы Показывать Константы. Вы можете переключить это из раздела Java своего локального меню.