2014-11-15 91 views
0

我正在android應用程序中,我想通過使用「編輯」按鈕使我的edittext啓用和禁用。我正在做一些事情,如果我按下按鈕,它將啓用edittexts,如果我再次按下EDIT按鈕,那麼它將禁用EditTexts。我的代碼片段如下,請幫助我。在第一次嘗試的情況下,它可以正常工作,但在再次單擊後,它只會返回「click1」。Edittext字段啓用和禁用使用android中的按鈕

editText.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       if (clickCount == 0){ 
        Toast.makeText(getApplicationContext(), "click0", Toast.LENGTH_SHORT).show(); 
        fName.setEnabled(true); 
        lName.setEnabled(true); 
        mailText.setEnabled(true); 
        mobileText.setEnabled(true);  
       } 
       clickCount = 1; 


    Toast.makeText(getApplicationContext(), "click1", Toast.LENGTH_SHORT).show(); 
     fName.setEnabled(false); 
     lName.setEnabled(false); 
     mailText.setEnabled(false); 
     mobileText.setEnabled(false); 
      } 
     }); 

回答

4

試試這個

editText.setOnClickListener(new View.OnClickListener() { 

       @Override 
       public void onClick(View v) { 
       if (clickCount == 0){ 
        Toast.makeText(getApplicationContext(), "click0", Toast.LENGTH_SHORT).show(); 
        fName.setEnabled(true); 
        lName.setEnabled(true); 
        mailText.setEnabled(true); 
        mobileText.setEnabled(true);  
        clickCount = 1; 
      }else if(clickCount == 1){ 
        Toast.makeText(getApplicationContext(), "click1", Toast.LENGTH_SHORT).show(); 
        fName.setEnabled(false); 
        lName.setEnabled(false); 
        mailText.setEnabled(false); 
        mobileText.setEnabled(false); 
        clickCount = 0; 
      } 
    }); 
} 
+2

@Ramees M Syde它的工作原理。謝謝你的回答 –

+1

@ muhammad usman khan樂於幫助兄弟。 –

3

使用if-elseisEnabled

if(fName.isEnabled()) 
    fName.setEnabled(false); 
else 
    fName.setEnabled(true); 
//do the same for other Views 
+1

感謝您的回覆。但我想用單一方法制作。通過這樣做的代碼行應該增加,因爲我有幾乎10-15編輯文本。 –

+0

@muhammadmanman你歡迎:)你是什麼意思**單一方法**?您可以在'onClick'方法中執行此代碼。 –

1

ü可以試試這個太

boolean clickCount =false; 

editText.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
     if (!clickCount){ 
      Toast.makeText(getApplicationContext(), "click0", Toast.LENGTH_SHORT).show(); 
      fName.setEnabled(true); 
      lName.setEnabled(true); 
      mailText.setEnabled(true); 
      mobileText.setEnabled(true);  
      clickCount = true; 
     }else { 
      Toast.makeText(getApplicationContext(), "click1", Toast.LENGTH_SHORT).show(); 
      fName.setEnabled(false); 
      lName.setEnabled(false); 
      mailText.setEnabled(false); 
      mobileText.setEnabled(false); 
      clickCount = false;//this line is optional 
      } 
    }); 
} 
0

您可以創建2個功能:

public static void disableEditText(EditText editText) { 
     editText.setFocusable(false); 
     editText.setEnabled(false); 
     editText.setCursorVisible(false); 

    } 

而且

public static void enableEditText(EditText editText) { 
    editText.setFocusable(true); 
    editText.setEnabled(true); 
    editText.setCursorVisible(true); 
} 

它爲我的工作,我希望它會幫助你的!

謝謝!