Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Klafe
1 / 1 / 1
Регистрация: 13.10.2012
Сообщений: 101
#1

Про final - Программирование Android

05.01.2013, 05:57. Просмотров 683. Ответов 4
Метки нет (Все метки)

Сразу скажу читал в книгах по яве про final все ясно было.

А вот сейчас появился вопрос.

Ключевое слово final позволяет предотвратить изменение переменной, сделав ее по сути константой, также используется для предотвращения переопределения и наследования.

Так вот, я пишу таймер:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class MainActivity extends Activity {
    
    TextView text4;
    int i=3;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
      
       TextView text = (TextView) findViewById(R.id.textView1);
       
            Timer timer = new Timer();
            timer.schedule(new TimerTask() {
 
                @Override
                public void run() {
                    MainActivity.this.runOnUiThread(new Runnable() {
                        public void run() {
                                 i++;
                                 text.setText(""+i);
                             }
                    });
                }
            }, 0, 5000);
 
    }
}
Так вот таймер не будет работать пока я к этой строчке (TextView text = (TextView) findViewById(R.id.textView1) не добавлю final. Хотя к переменной int i добавлять никакой final не надо.

О наследовании или переопределении здесь речи нет, тогда (как я думаю) final в строке final TextView text = (TextView) findViewById(R.id.textView1); должен по идеи запретить изменять text??? Или я неправ??
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2013, 05:57
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Про final (Программирование Android):

Про Broadcast
Пишу приложение. Оно должно что-то выполнять по событию Broadcast. Проблема...

И снова про PopupMenu (было про длину, теперь про ширину)
Добавляем в пустое PopupMenu несколько пунктов динамически (шириной, например,...

BT4-final
Незнал куда написать так что пишу сдесь.Захотел установить на обычный комп BT4...

Final solution
Solution trisecting (n-sections) and n-proper construction of the polygon using...

Final поля
Я запутался %-) Пишу программу, но что-то никак не могу понять как быть. В...

Final переменная
Добрый день! Нужно создать final переменную, которая была бы видна во всех...

4
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
05.01.2013, 06:14 #2
запрещает переопределить переменную text
1
Klafe
1 / 1 / 1
Регистрация: 13.10.2012
Сообщений: 101
05.01.2013, 06:17  [ТС] #3
Цитата Сообщение от V0v1k Посмотреть сообщение
запрещает переопределить переменную text
А это обязательное условие (запрещать)? Если я и так не переопределяю?
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
05.01.2013, 06:18 #4
как видишь...
0
Klafe
1 / 1 / 1
Регистрация: 13.10.2012
Сообщений: 101
05.01.2013, 06:21  [ТС] #5
Ясно, понял. Спасибо!
0
05.01.2013, 06:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2013, 06:21
Привет! Вот еще темы с решениями:

Nero 9.4.13.2c Final
Начинаю устанавливать и появляется вот раньше норм устанавливалась.

Final для полей
Здравствуйте, подскажите почему в первом случае компилятор ругается, а во...

Как перейти с RC на Final
Уважаемые форумчане, подскажите пожалуйста решение такого вопроса. Пересмотрел...

static final методы
Здравуствуйте. Определя два десятка констант, на автомате дописал final к...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru