2012-01-23 43 views
5

Tôi có một số dạng xem văn bản trong ứng dụng và muốn kiểm tra xem các thuộc tính văn bản trên văn bản của tôi có giá trị hay không. sau đó tôi muốn hiển thị một bánh mì nướng nếu giá trị trên TextView tôi vôAndroid - Cách kiểm tra xem textview có rỗng hay không null

nhưng bánh mì nướng không hoạt động như nó phải

đây là mã của tôi:

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); 
} 

và đây là phương pháp onClick mã:

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(); 
     } 

Trả lời

0

Hãy thử textView.getText() != "" để thay thế.

+0

Và những gì nếu văn bản trong TextView sẽ là ""? – TheLibrarianCz

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

tôi cố gắng và vẫn không. công việc. đây là mã của tôi: (!. Jalan.getText() equals (""!.) && kota.getText() equals ("")) nếu { \t \t \t \t switch (v.getId()) { \t \t \t \t \t trường hợp R.id.go: \t \t \t \t \t \t Intent maps = new Intent(); \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 (maps); \t \t \t \t \t \t ngắt; \t \t \t \t \t \t \t \t \t \t} \t \t \t} else { \t \t \t \t Toast msg = Toast.makeText (razerNav.this, "Lengkapi dữ liệu", 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

thay đổi mã của bạn trong câu hỏi tự nó .. sẽ có thể đọc được .. sẽ giúp bạn nhiều hơn sau đó – AAnkit

+0

thử hiển thị bánh mì nướng mà không cần đặt trọng lực và thêm nhật ký ở đây..có bạn đã thử nó. Tôi hy vọng nó sẽ làm việc – AAnkit

0

Bạn có chắc chắn rằng điều kiện khác được gọi không? Gỡ lỗi nó!

Có lẽ bạn cần phải đặt bánh mì nướng vào một tuyên bố runOnUiThread:

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

cuối cùng tôi tìm thấy giải quyết vấn đề của tôi. đây là mã của tôi:

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(); 

     } 

tôi sử dụng để kiểm tra độ dài, bởi vì trên xml của tôi thêm như thế này:

android:text=" " 

thấy? đây là lỗi của tôi. dù sao cảm ơn vì đã giúp tôi. :)

3

Đây là những gì tôi sẽ sử dụng.

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

Phương pháp gettext() trong TextView trả Editable rằng không thể so sánh với String bạn nên chuyển đổi có thể chỉnh sửa để String sử dụng phương pháp String.valueOf().

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

hy vọng nó sẽ có ích

0

if (jalan.getText()! = Null & & kota.getText()! = Null) Đây là dòng mã không làm việc cho bạn. giải pháp tốt nhất cho kịch bản như vậy là sử dụng phương pháp matches("") cho Chuỗi

Vì vậy, các giải pháp sẽ là:

 if (!jalan.getText().toString.matches("") && !kota.getText().toString().matches("")){ 
    // code for not null textViews 
} 
else 
{ 
//Code for nul textView 
} 
Các vấn đề liên quan