2013-07-30 82 views
1

我需要根據微調器值更改edittext 其工作爲keylistener(null)對於不可編輯但我無法恢復,因爲焦點不應該鬆動從EditText上我不使用這種方法setEnabled 我使用此代碼如何通過微調器選擇將edittext編輯爲可編輯和不可編輯

sp_card.setOnItemSelectedListener(new OnItemSelectedListener() { 
     public void onItemSelected(AdapterView<?> parent, View arg1, 
       final int pos, long arg3) { 
      if (filteredCardsList.get(pos).awardPointsRatio != null 
        && filteredCardsList.get(pos).awardPointsRatio == 0.0) { 
       et_award_points.setText(""); 
       et_award_points.setHint("No ratio is available"); 
       et_award_points.setKeyListener(et_award_points 
         .getKeyListener()); 
      } else { 
       et_award_points.setKeyListener(null); 
      } 
     } 

     public void onNothingSelected(AdapterView<?> arg0) { 

     } 
    }); 

這裏et_award_points總是不可編輯領域的不改變其狀態恢復

回答

1

試試這個code.It工作

private KeyListener listener; 
listener = et_award_points.getKeyListener(); 
et_award_points.setKeyListener(listener); 
1

使用editTextInstance.setEnabled(true)以使其可編輯,editTextInstance.setEnabled(false)禁用

+0

我需要的EditText總是因爲啓用值應該相應地改變,當我從一個到其他編輯文本 –

0

更改按鈕,切換按鈕和執行這個代碼,這應該是最好的解決方案,我估計

button.setOnCheckedChangeListener(new OnCheckedChangeListener() { 
     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
      editText.setEnabled(isChecked); 
     } 
    }); 
+0

它不是一個按鈕它是一個微調。根據我選擇的值,edittext應該是可編輯或不可編輯的,但不應刪除焦點 –