2011-10-29 109 views
2

在我的應用程序中,我有一個editText。如果我點擊它,那麼它應該打開日期選擇器對話框而不是鍵盤。 它的開幕日期,但隨着鍵盤也來了。android如何爲edittext設置隱藏鍵盤

(默認情況下,鍵盤來爲editText,但我不想這樣) 我想這個editText鍵盤應該不可見/應該隱藏。

我該怎麼做?

我不喜歡這樣,

private EditText editDate; 
    editDate=(EditText)findViewById(R.id.editDate); 

editDate.setOnClickListener(new OnClickListener() { 
      public void onClick(View v) { 
       InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
       imm.hideSoftInputFromWindow(editDate.getWindowToken(), 0); 

       showDialog(DATE_DIALOG_ID); 
      } 
     }); 

它不工作。有什麼辦法嗎?

謝謝

回答

5

EditText et = (EditText)findViewById(R.id.et); 
et.setInputType(InputType.TYPE_NULL); 
+0

+1,工作正常!但是當我點擊x按鈕鍵盤彈出窗口時! –

0

嘗試設置此

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 

你可能要使它再次可見,當你日期選取辭職,讓你的其他編輯文本應接收鍵盤..

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); 
+0

在editText點擊事件我會給第一行。我會把第二條線放在哪裏? – Jyosna

+0

爲你做了第一線工作? – Krishnabhadra

+0

不,它不工作。我試過,但鍵盤仍然是第一個然後日期選擇器 – Jyosna

0

在ActivityLayout xml文件中將editDate更改爲不可編輯。例如,我用這個在我的xml:

<EditText android:id="@+id/date_EditText" 
     android:editable="false" <---- this is what you want 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:inputType="none" 
     android:layout_weight="2" 
     android:layout_margin="5dp" android:layout_gravity="center_vertical">