我有以下情况:
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,可以吗? 如果不是,我该怎么做?
答案 0 :(得分:2)
您需要将其声明为final
,以便您可以在匿名View.OnClickListener
类中访问它。这是Java's flavor of closures的限制,但参考final
不应该有任何重大问题。
简短版:没关系。