Como usar classes internas do java em seu aplicativo android

Aqui está uma grande notícia! Você pode definir uma classe dentro de outra classe! Isso é útil para desenvolvedores de aplicativos Android. A maioria das classes não vivem dentro de outra classe, e a maioria das classes não contêm outras classes. Mas quando a idéia por trás de uma classe grita para ser parte de outra classe, fique à vontade para criar uma classe dentro de uma classe.

Video: Programando ANDROID - INTRODUÇÃO - SETUP no ECLIPSE #1 [HD]

classes internas nomeados

Neste código, o MyActivity classe contém o seu próprio MyListener classe.

Video: 14.1 Collection and Generics in Java Theory

pacote com.allmycode.samples-import android.app.Activity-import android.os.Bundle-import android.view.View-import android.view.View.onclickListener-import android.widget.Button-pública MyActivity classe estende Atividade { botão botão-@ Overridepublic onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState) -setContentView void (R.layout.main) -botão = ((button) findViewById (R.id.button1)) - button.setonclickListener (nova MyListener ()) -} class MyListener implementa onclickListener {@Overridepublic vazio onclick (Ver arg0) {button.setBackgroundColor (android.graphics.Color.GRAY) -}}}


o MyListener classe é uma classe interna. Uma classe interna é muito parecido com qualquer outra classe. Mas no código de uma classe interna, você pode se referir a campos da classe delimitador. Por exemplo, a onclick método dentro MyListener usa o nome botão, e botão é definida na envolvente MyActivity classe.

Video: Aula Java 21 - Chamando Método de Outra Classe

classes internas anónimos

Observe que o código acima usa a MyListener classe apenas uma vez. (O único uso está em uma chamada para button.setonclickListener.) Então, você realmente precisa de um nome para algo que é usado apenas uma vez? Não, você não. Você pode substituir toda a definição da classe interna dentro da chamada para button.setonclickListener. Quando você fizer isso, você tem um classe interna anônima. O código a seguir mostra como ele funciona.

Video: 17 Java Class Example Part 4 |

pacote com.allmycode.samples-import android.app.Activity-import android.os.Bundle-import android.view.View-import android.view.View.onclickListener-import android.widget.Button-pública MyActivity classe estende Atividade { botão botão-@ Overridepublic onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState) -setContentView void (R.layout.main) -botão = ((button) findViewById (R.id.button1)) - button.setonclickListener (nova onclickListener () {@Overridepublic anular onclick (Ver arg0) {button.setBackgroundColor (android.graphics.Color.GRAY) -}}) -}}

classes internas são bons para coisas como manipuladores de eventos, tais como a onclick método. A coisa mais difícil sobre uma classe interna anônima é manter o controle dos parênteses, as chaves e o recuo. Então aqui vai um conselho: Comece por escrever código sem quaisquer classes internas. Mais tarde, quando você tornar-se aborrecido com classes Java comuns, experiência, alterando algumas das suas classes comuns em classes internas.


Publicações relacionadas