我应该将UI对象声明为“最终”以便能够访问它吗?

时间:2011-08-14 03:56:42

标签: java android variables inheritance

我有以下情况:

     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();
                    }
.......

以便访问

  

else if(nome.getText()== null)

我需要在onCreate()方法的开头声明它是FINAL,可以吗? 如果不是,我该怎么做?

1 个答案:

答案 0 :(得分:2)

您需要将其声明为final,以便您可以在匿名View.OnClickListener类中访问它。这是Java's flavor of closures的限制,但参考final不应该有任何重大问题。

简短版:没关系。