Eu quero que equals fique nenhuma image
Quando não tive nenhuma ImageResource fazer a função
O código é esse;
package com.example.myapplication;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;
import com.example.myapplication.R;
public class JogoVx extends Activity {
private final String QUADRADO = “quadrado” ;
private final String BOLA = “@drawable/bola” ;
private final String XIS = “@drawable/x” ;
private String lastPlay = “@drawable/bola” ;
private View view;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setView(getLayoutInflater().inflate(R.layout.jogovx, null));
setContentView( getView() );
}
public void clickQuadrado(View v) {
if (((ImageButton)v).getImageResource().equals()) {
if(lastPlay.equals(BOLA)) {
((ImageButton)v).setImageResource(R.drawable.x);
setLastPlay( XIS );
} else { ((ImageButton)v).setImageResource(R.drawable.bola);
setLastPlay( BOLA );
}
} else { Toast.makeText(getView().getContext(),"Já jogaram nesse quadrado", Toast.LENGTH_LONG).show();
}
}
public ImageButton getQuadrado(int tagNum) {
return (ImageButton)getView().findViewWithTag( QUADRADO+tagNum );
}
public View getView() {
return view;
}
public void setView(View view) {
this.view = view;
}
public String getLastPlay() {
return lastPlay;
}
public void setLastPlay(String lastPlay) {
this.lastPlay = lastPlay;
}
}
Vocês entenderam o que eu quero fazer ? Se não entenderam, me perguntem.
Isso nunca vai funcionar, pois o método equals exige que você passe um parâmetro do tipo Object (qualquer objeto).
Se a ideia é comparar com nulo, que seria o equivalente a nenhum objeto, então, faça assim
null == getImageResource()
Não há necessidade de cast, pois, se getImageResource é nulo, você nunca vai conseguir transformar em um ImageButton
@darlan_machado
Eu quero que nesse ImageButton ele identifique que .getImageResource() é nulo mas quando coloco ele não funciona.
Era para copiar
(null == getImageResource())
No lugar (((ImageButton)v).getImageResource().equals())
Se for não funcionou
Bom ,eu não entendi o que você explicou. Tenta explicar com exemplo.
Obrigado pola atençao.
Olha, leia a documentação e entenda, ok?
Sobre não funcionar, realmente foi bola fora minha.
O cast que você faz é justamente para obter o método getImageResource
Então, ficaria assim
if(null == ((ImageButton) v).getImageResource()) {
@darlan_machado eu estou com problema com o método getImageResource()
Da erro; não encontrado o simbolo getImageResource()
Você conhece outro código que faça a mesma função.
já tentei colocar o seu código mas não deu certo aparece o mesmo erro
É assim se estiver sem image executar o código se não executar o outro código.
Obrigado por sua atenção.
Se está dando erro é por que alguma coisa tá errada e a mensagem que está sendo exibida deve ajudar a entender e a corrigir.
O problema é que eu não consigo adivinhar, pois você não coloca código, nem mensagem, nem nada, só fica perguntando com informações desencontradas e pela metade.
Assim fica bem complicado
@darlan_machado
error:cannot find symbol
if (null == ((ImageButton) v).getImageResource())
^
symbol: method getImageResource()
location: class ImageButton
É esse mensagem que você quer?
O erro é apresentado por que, realmente, não existe este método.
Olhar a documentação é uma excelente maneira de aprender
@darlan_machado você me ajudou muito. Obrigado.
Era só colocar (null == ((ImageButton) v).getDrawable())
Valeu.