Java 从Android键盘内部打开一个对话框
所以我有一个我正在制作的键盘应用程序 我得到用户输入的单词,在他/她输入某个特定单词后,我想显示一条对话框消息,回答是/否 我可以让应用程序显示一个祝酒词,它可以工作,但我可能没有来自用户的反馈 如果我使用此代码:Java 从Android键盘内部打开一个对话框,java,android,mobile,dialog,keyboard,Java,Android,Mobile,Dialog,Keyboard,所以我有一个我正在制作的键盘应用程序 我得到用户输入的单词,在他/她输入某个特定单词后,我想显示一条对话框消息,回答是/否 我可以让应用程序显示一个祝酒词,它可以工作,但我可能没有来自用户的反馈 如果我使用此代码: DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { @Override public void onClick(DialogInte
DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
InputConnection ic = getCurrentInputConnection();
switch (which){
case DialogInterface.BUTTON_POSITIVE:
ic.deleteSurroundingText(palavra.length(), 0);
break;
case DialogInterface.BUTTON_NEGATIVE:
dialog.dismiss();
break;
}
}
};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
我得到一个错误,因为我没有在“上下文”中使用的活动。我只有键盘视图
我如何才能做到这一点?假设您的
键盘视图是视图
的子类,您应该能够调用getContext()
。例如:
AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
我成功了
这是我现在的代码(它工作得很好!):
看看我的答案
AlertDialog alertDialog = new AlertDialog.Builder(this)
.setTitle("Palavra ofensiva")
.setMessage("Deseja mudar a palavra?")
.create();
alertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
alertDialog.setButton(AlertDialog.BUTTON_POSITIVE, "Sim", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
InputConnection ic = getCurrentInputConnection();
ic.deleteSurroundingText(palavra.length(), 0);
palavra = "";
}
});
alertDialog.setButton(AlertDialog.BUTTON_NEGATIVE, "Não", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
alertDialog.show();