2013-11-22 3 views
0

я хочу, чтобы проверить и дать состояние моей EditText, если я вход что-то к моему EditText, л это изменит мою ImageView, это мой код:андроида: Проверьте EditText является нулевым

if (nama_pp.getText().toString().length()==0){ 
      ImageView image_status=(ImageView)polis.findViewById(R.id.image_status_1); 
      image_status.setImageResource(R.drawable.espaj_yellow_checklist); 
     }else { 
      ImageView image_status=(ImageView)findViewById(R.id.image_status_1); 
      image_status.setImageResource(R.drawable.espaj_gray_checklist); 
     } 

У меня есть проблема здесь, мое изображение не меняется .... этот код имеет истину или нет?

+0

Я думаю, что вам нужно, чтобы объяснить немного более четко. В чем вопрос? – codeMagic

+0

это будет работать, в зависимости от того, где вы размещаете этот код. Вам, вероятно, понадобится «TextWatcher» –

+0

. Вы можете использовать 'TextUtils.isEmpty (nama_pp.getText())', чтобы проверить, является ли значение «null» или пустым. –

ответ

1

Если я правильно прочитал ваше сообщение, вы хотите проверить, не является ли EditText когда-либо пустым по мере ввода пользователем. Если это так, попробуйте следующее.

Эта линия должна появиться в OnCreate метод после вызова setContentView:

ImageView image_status=(ImageView)polis.findViewById(R.id.image_status_1); 

Затем добавьте этот код после nama_pp был назначен:

nama_pp.addTextChangedListener(new TextWatcher() 
    { 
     public void beforeTextChanged(CharSequence p1, int p2, int p3, int p4) 
     { 
      // TODO: Implement this method 
     } 

     public void afterTextChanged(Editable p1) 
     { 
      // TODO: Implement this method 
     } 

     public void onTextChanged(CharSequence s, int start, int before, int count) 
     { 
      if(s.length() == 0) 
      { 
       image_status.setImageResource(R.drawable.espaj_yellow_checklist); 
      } 
      else 
      { 
       image_status.setImageResource(R.drawable.espaj_gray_checklist); 
      } 
     } 
    } 
); 
+0

спасибо Майк .. вы меня день :) –

+0

Sweet! Рад помочь. Просто FYI, я исправил и прибрал код немного, если вы хотите еще раз взглянуть на него. –

0

Если вы хотите, чтобы проверить EditText имеет нулевое значение, то вы делаете это:

if (nama_pp == null) 

Но я не думаю, что это то, что вы хотите. Вы хотите, чтобы увидеть, если строка внутри пустой, так что вы можете попробовать что-то вроде этого:

if (nama_pp.getText().toString() == null || nama_pp.getText().toString().length()==0){ 

Я думаю, вам не нужен, или в этом случае, но я не знаю, если Android оставляет пустой string, если вы удалите все символы в EditText.

Смежные вопросы