2012-01-23 9 views
5

Mam pewien tekst w mojej aplikacji i chcę sprawdzić, czy właściwości tekstu w moim widoku tekstowym mają wartość lub zero. następnie chcę, aby wyświetlić toast jeżeli wartość na moim TextView zerowyAndroid - Jak sprawdzić, czy tekst jest pusty lub nie ma wartości null?

ale tost nie działa jak powinno

to mój kod:

public class brekeleV2 extends Activity { 
static Context context; 
brekeleV2Model r = new brekeleV2Model(); 
private EditText jalan, kota, postal; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    context = getApplicationContext(); 
    Button go = (Button)findViewById(R.id.go); 
    go.setOnClickListener(onGo); 

    Button reset = (Button)findViewById(R.id.reset); 
    reset.setOnClickListener(onRes); 
    jalan =(EditText)findViewById(R.id.jalan); 
    kota =(EditText)findViewById(R.id.kota); 
    postal =(EditText)findViewById(R.id.post); 
    jalan.setText(null); 
    kota.setText(null); 
    postal.setText(null); 
} 

i jest to metoda onClick kod:

private View.OnClickListener onGo=new View.OnClickListener() { 

    public void onClick(View v) { 
     if (jalan.getText()!= null && kota.getText()!=null){ 
      switch(v.getId()){ 
       case R.id.go: 
        Intent maps = new Intent(); 
        maps.setClassName("com.openit.brekele", "com.openit.brekele.brekeleV2Nav"); 
        brekeleV2Nav.putLatLong(lat, lon); 
        startActivity(maps); 
        break; 

      } 
     }else{ 
      Toast msg = Toast.makeText(brekeleV2.this, "Lengkapi Data", Toast.LENGTH_LONG); 
      msg.setGravity(Gravity.CENTER, msg.getXOffset()/2, msg.getYOffset()/2); 
      msg.show(); 
     } 

Odpowiedz

0

Zamiast tego spróbuj textView.getText() != "".

+0

a co jeśli tekst w TextView będzie „”? – TheLibrarianCz

16
if(!textview.getText().toString.matches("")) 
{ 
    // not null not empty 
}else { 
    //null or empty 
} 
+0

Próbuję i nadal nie zrobił. praca. to mój kod: (!. Jalan.getText() jest równa ("!".) && kota.getText() jest równa ("")) jeśli { \t \t \t \t przełącznik (v.getId()) { \t \t \t \t \t sprawa R.id.go: \t \t \t \t \t \t Mapy celów = nowy cel(); \t \t \t \t \t \t maps.setClassName ("com.openit.razer", "com.openit.razer.mapRazerNav"); \t \t \t \t \t \t mapRazerNav.putLatLong (lat, lon); \t \t \t \t \t \t startActivity (mapy); \t \t \t \t \t \t Przerwa; \t \t \t \t \t \t \t \t \t \t} \t \t \t} else { \t \t \t \t tosty MSG = Toast.makeText (razerNav.this "Lengkapi danych" Toast.LENGTH_LONG); \t \t \t \t msg.setGravity (Gravity.CENTER, msg.getXOffset()/2, msg.getYOffset()/2); \t \t \t \t msg.show(); \t \t \t} – DevYudh

+0

zmień kod, o którym mowa, który sam .. będzie czytelny .. pomoże Ci uzyskać więcej niż – AAnkit

+0

spróbuj pokazać toast bez ustawiania grawitacji i lub dodaj tutaj dzienniki. mam nadzieję, że to zadziała – AAnkit

0

Czy jesteś pewien, że zostanie wywołany inny warunek? Debuguj to!

Może trzeba umieścić tosty w oświadczeniu runOnUiThread:

runOnUiThread(new Runnable() { 
    public void run() { 
     mText.setText("Hello there, " + name + "!"); 
    } 
}); 
3

w końcu znalazłem mój rozwiązywania problemów. tutaj jest mój kod:

if (jalan.getText().toString().length()>0 || kota.getText().toString().length()>0){ 
      //switch(v.getId()){ 
       //case R.id.go: 
        Intent maps = new Intent(); 
        maps.setClassName("com.openit.razer", "com.openit.razer.mapRazerNav"); 
        mapRazerNav.putLatLong(lat, lon); 
        startActivity(maps); 
        //break; 

      //} 
     }else{ 
      Toast msg = Toast.makeText(razerNav.this, "Lengkapi Data", Toast.LENGTH_LONG); 
      msg.setGravity(Gravity.CENTER, msg.getXOffset()/2, msg.getYOffset()/2); 
      msg.show(); 

     } 

użyłem, aby sprawdzić długość, bo na moim xml i dodać tak:

android:text=" " 

zobaczyć? to moja wina. dzięki za pomoc. :)

3

To jest to, czego bym użył.

if (mText1.getText().length() > 0 && mText2.getText().length() > 0) { 
    // Your code. 
} 
0

Metoda getText() w TextView zwraca edytowalne że nie mogę porównać z String należy przekonwertować na edytowalny String stosując metodę String.ValueOf().

String jalanContent = String.ValueOf(jalan.getText()); 
if(jalanContent.equals(""){ 
//do your action here 
} else { 
//some action here 
} 

nadzieję, że to będzie przydatne

0

if (jalan.getText()! = Null & & kota.getText()! = Null) Jest to linia kodu, który nie działa dla ciebie. najlepszym rozwiązaniem dla takiego scenariusza jest za pomocą matches("") metodę String

Więc rozwiązaniem będzie:

 if (!jalan.getText().toString.matches("") && !kota.getText().toString().matches("")){ 
    // code for not null textViews 
} 
else 
{ 
//Code for nul textView 
} 
Powiązane problemy