我在製作一個應用程序,並且在我的佈局中添加了一個EditText。在android中的editText
我想要實現的是,當選擇EditText時,應打開一個對話框,其中包含一些常規文本和一個OK
按鈕。我可以使用哪種方法來完成此操作?
我在製作一個應用程序,並且在我的佈局中添加了一個EditText。在android中的editText
我想要實現的是,當選擇EditText時,應打開一個對話框,其中包含一些常規文本和一個OK
按鈕。我可以使用哪種方法來完成此操作?
你必須嘗試這樣
searchtext.setOnKeyListener(new OnKeyListener()
{
public boolean onKey(View v, int keyCode, KeyEvent event)
{
if (event.getAction() == KeyEvent.ACTION_DOWN)
{
showDialog();
}
}
};
一些東西,在這裏不用的ShowDialog()代碼
private void showDialog()
{
final AlertDialog.Builder Main_Dialog = new AlertDialog.Builder(this);
final EditText input = new EditText(this);
input.setPadding(10, 10, 10, 10);
input.setText(ipAddress);
Main_Dialog.setView(input);
Main_Dialog.setTitle("Enter IP Address:");
Main_Dialog.setPositiveButton("Ok", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int whichButton)
{
//Do whatever
}
});
Main_Dialog.show();
}
你的意思是你想在你的EditView獲得焦點時顯示對話框?我認爲覆蓋View.onFocusChanged()將是要走的路。如果要跟蹤EditText的詳細輸入,請實現TextWatcher並使用TextView.addTextChangedListener()將其添加到EditText實例。
如果我正確地讀你的困境,你會設置一個OnFocusChangeListener爲的EditText 。像下面的剪輯一樣。
EditText e = new EditText(this);
e.setOnFocusChangeListener
(
new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (v.hasFocus()) {
showDialog(COOL_DIALOG);
}
}
}
);
請注意,這似乎是一個有點奇怪的用戶交互。爲什麼不讓他們使用EditText來創建它?如果你真的想這樣做,我建議使用常規的TextView或Button,並使用單擊處理程序來彈出對話框。這將爲用戶創建更「期望」的交互。
請提供您的代碼。這將有助於找出錯誤。 – Praveen 2011-02-15 12:38:02
Yeah Ofcourse Reno – Shah 2011-02-15 12:59:31
@Reno請不要傷害別人 – ingsaurabh 2011-02-15 13:03:30