[RESOLVIDO] Passar void por parametro

Salve galerinha!

Galera! É possível passar um void como parametro para uma classe?

Tipo:

ou então… Como fazer para criar voids como os que são passados no onTouchListener??

[code] setOnTouchListener(new View.OnTouchListener() {

		@Override
		public boolean onTouch(View v, MotionEvent event) {
			return true;
		}
	});[/code]

pois o que eu estou querendo fazer é exatamente isso que acontece acima…
Tipo uma classe vai passar para a outra: setOnMoveListener… entendem??

Grato pela atenção e paciencia de todos :smiley:

Fiquem com DEUS:!:

Ah, você está querendo passar um método “solto” para outra classe, não?

Na verdade você não pode passar um método “solto” para outra classe, você tem de passar um objeto que pertença a uma classe que implemente uma determinada interface (mesmo que essa classe não tenha nome, como é o caso da classe que foi criada nesse trecho de código: )

setOnTouchListener(new View.OnTouchListener() {  
      
    @Override  
    public boolean onTouch(View v, MotionEvent event) {  
        return true;  
    }  
});

Aqui criou-se uma classe sem nome que implementa a interface View.OnTouchListener e cujo único método é onTouch, como definido no código acima, e instanciou-se um objeto dessa classe, para passar para o método setOnTouchListener.

No Java 8 será criado um recurso novo, chamado “lambda”, que permitirá uma forma mais trivial de criar tais métodos “soltos”. O Android, que eu saiba, não será compatível com o Java 8 tão cedo.

Ou seja: não é possivel??

Você tem de fazer exatamente desse jeitinho que você passou o exemplo (setOnTouchListener).

Salve Cara!

Muito obrigado pela tua atenção!

Cara eu fiz assim:
Eu tinha duas classes:
um Activity e um View(Joy)… e criei mais uma classe(ListenerJoy)…

Ficou assim:
A classe ListenerJoy:

[code]package lan.controlador;

public class ListenerJoy {

void onMove(){};

}[/code]

No Activity:

[code]Joy joy = (Joy) findViewById(R.joys.joyMouse);

    ListenerJoy LJ = new ListenerJoy(){
    	@Override
    	void onMove() {
    		// TODO Auto-generated method stub
    		System.out.println("lol");
    		
    		super.onMove();
    	}
    };
    
    joy.setarListenerJoy(LJ);[/code]

E na classe Joy:

ListenerJoy listener; public void setarListenerJoy(ListenerJoy LJ){ listener = LJ; }

Espero que isso ajude a outras pessoas com este mesmo problema :wink:

Fiquem com DEUS:!: