Android - Как проверить, является ли textview нулевым или нет - PullRequest
8 голосов
/ 23 января 2012

У меня есть текстовое представление в моем приложении и хотите проверить, имеет ли значение свойства текста в моем текстовом представлении значение или ноль. тогда я хочу отобразить тост, если значение в моем текстовом представлении пусто

но тост не работает как надо

это мой код:

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

и это код метода onClick:

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

Ответы [ 8 ]

20 голосов
/ 23 января 2012
if(!textview.getText().toString.matches(""))
{
    // not null not empty
}else {
    //null or empty
}
3 голосов
/ 05 октября 2015

Это то, что я бы использовал.

if (mText1.getText().length() > 0 && mText2.getText().length() > 0) {
   // Your code.
}
2 голосов
/ 24 января 2012

в конце концов я нашел решение своих проблем. вот мой код:

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

        }

Раньше я проверял длину, потому что в моем xml я добавляю вот так:

android:text=" "

см? Это моя ошибка. В любом случае, спасибо за помощь. :)

0 голосов
/ 05 июля 2018

Я бы немного изменил правильный ответ (отсутствует () после toString, но мы не можем редактировать код так:

if(textview.getText().toString().matches(""))
{
    // is null or empty
}else {
    //not null or empty
}
0 голосов
/ 29 июня 2017

if (jalan.getText ()! = Null && kota.getText ()! = Null) Это строка кода, которая не работает для вас. Лучшее решение для такого сценария - использование метода matches("") для String

Таким образом, решение будет:

     if (!jalan.getText().toString.matches("") && !kota.getText().toString().matches("")){
   // code for not null textViews 
}
else
{
//Code for nul textView
}
0 голосов
/ 15 сентября 2016

Метод getText () в TextView возвращает EditAble, который не может сравниваться со строкой Вы должны преобразовать EditAble в String, используя метод String.ValueOf ().

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

надеюсь, что это будет полезно

0 голосов
/ 23 января 2012

Вы уверены, что вызывается условие else?Отладка!

Возможно, вам нужно добавить тост в оператор runOnUiThread:

runOnUiThread(new Runnable() {
    public void run() {
        mText.setText("Hello there, " + name + "!");
    }
});
0 голосов
/ 23 января 2012

Попробуйте textView.getText() != "" вместо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...