Должен ли я объявить объект пользовательского интерфейса как «окончательный», чтобы иметь возможность доступа к нему? - PullRequest
0 голосов
/ 14 августа 2011

у меня следующая ситуация:

     public void onCreate(Bundle icicle) {
            super.onCreate(icicle);
            setContentView(R.layout.createcharacter);
            //Referenciando Items do Layout
            Button voltar = (Button) findViewById(R.id.voltar);
            Button criar = (Button) findViewById(R.id.criar);
           final TextView nome = (TextView) findViewById(R.id.nome);
        ...........
     criar.setOnClickListener(new View.OnClickListener() {
                public void onClick(View arg0) {

                    if(portraitSelected == false)
                    {
                    Toast.makeText(CreateCharacter.this, "Selecione um Avatar", Toast.LENGTH_SHORT).show();
                    Toast.makeText(CreateCharacter.this, nome.getText(), Toast.LENGTH_SHORT).show();

                    }
                    else if(nome.getText() == null)
                    {
                        Toast.makeText(CreateCharacter.this, "Digite um Nome!", Toast.LENGTH_SHORT).show();
                    }
.......

для доступа

иначе if (nome.getText () == null)

Мне нужно объявить его FINAL в начале метода onCreate (), это нормально? если нет, то как мне это сделать?

1 Ответ

2 голосов
/ 14 августа 2011

Вам нужно объявить его как final, чтобы вы могли получить к нему доступ внутри анонимного класса View.OnClickListener. Это ограничение Java-замыкания замыканий , но не должно быть серьезных проблем с созданием ссылки final.

Короткая версия: все хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...