Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从Android键盘内部打开一个对话框_Java_Android_Mobile_Dialog_Keyboard - Fatal编程技术网

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();