我有一个主要 Activity ,其中包含一个列表和一个接收关键字以在数据库中进行搜索的方法。
我想实现一个带有搜索框的AlertDialog
,当我通过这种形式的 Action 监听器单击按钮时,搜索框应该出现在主要 Activity 上
OnClickListener searchListener = new OnClickListener() {
public void onClick(View v) {
// ...
}
};
这个对话框应该有一个简单的 EditText
框和两个按钮(Search 和 Cancel),并且必须传递 String
由 EditText
选择到表单中的搜索方法:
public void searchWord(String keyword){
// ....search in DB
// ...updateListGUIWithNewValues()
}
此方法在主 Activity 中用于获取新的列表值,以便 Activity 可以更新 GUI 列表。
我已经实现了搜索方法和主要 Activity ,但我不知道实现这种对话框的正确方法。
最佳答案
这是我的警告对话框代码,其中包含一个编辑文本。我在按钮点击监听器中调用它,因此它不是一个单独的方法。我上周在这个网站的某个地方找到了它,但我似乎找不到它所以我可以引用它。
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();
关于android - 如何实现带有搜索框的对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15144392/