如何使用搜索框实现Dialog?

And*_*eaF 5 search android android-alertdialog

我有一个主要活动,其中包含一个列表和一个接收关键字的方法,以便在数据库中进行搜索.

我想AlertDialog在我通过此表单中的动作侦听器单击按钮时,在主活动上显示一个搜索框

OnClickListener searchListener = new OnClickListener() {

    public void onClick(View v) {
        // ...
    }
};
Run Code Online (Sandbox Code Playgroud)

这个对话框应该有一个简单的EditText方框和两个按钮(SearchCancel),并且必须将String选中的EditText方法传递给表单中的搜索方法:

public void searchWord(String keyword){
    // ....search in DB
    // ...updateListGUIWithNewValues()
}
Run Code Online (Sandbox Code Playgroud)

此方法是获取新列表值的主要活动,因此活动可以更新GUI列表.

我已经实现了搜索方法和主要活动,但我不知道实现这种对话的正确方法.

Mik*_*ike 6

这是我的警报对话框代码,其中包含编辑文本。我在按钮单击侦听器中调用它,因此它不是一个单独的方法。上周我在这个网站的某个地方找到了它,但我似乎找不到它,所以我可以引用它。

AlertDialog.Builder alert = new AlertDialog.Builder(context);
alert.setTitle("Manual Item Search");
alert.setMessage("Input Search Query");
// Set an EditText view to get user input 
final EditText input = new EditText(context);
alert.setView(input);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
    String result = input.getText().toString();
        //do what you want with your result
        }
    });
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int whichButton) {
         // Canceled.
        }
    });
alert.show();
Run Code Online (Sandbox Code Playgroud)