Android 弹出对话框作为输入

Android 弹出对话框作为输入,android,popupwindow,Android,Popupwindow,嘿,我在实现一个弹出对话框时遇到了一个问题,如本例中所示: 如果我实现editbox的代码,它就可以正常工作。问题是,我想在应用程序中使用一个选项菜单,让用户控制是否要使用android中的标准键盘或这个弹出对话框作为编辑框的输入 如果我将此代码直接放入main.java类中,它就可以像我刚才所说的那样正常工作(与上面的代码示例相同): 长话短说,当我使用选项菜单时,我需要在不同的void方法之间使用onClickListener。因此,我不能调用AlertDialog.Builder=new-

嘿,我在实现一个弹出对话框时遇到了一个问题,如本例中所示:

如果我实现editbox的代码,它就可以正常工作。问题是,我想在应用程序中使用一个选项菜单,让用户控制是否要使用android中的标准键盘或这个弹出对话框作为编辑框的输入

如果我将此代码直接放入main.java类中,它就可以像我刚才所说的那样正常工作(与上面的代码示例相同):

长话短说,当我使用选项菜单时,我需要在不同的void方法之间使用onClickListener。因此,我不能调用
AlertDialog.Builder=new-AlertDialog.Builder(this)。我试图调用
AlertDialog.Builder=newalertdialog.Builder(getApplicationContext())但它不工作。老实说,我真的不明白这个问题

如果有人感兴趣,我将键入更多代码:

public void setListInputMethod()
{
     for( EditText et : mEditTextList )
     {
         et.setEnabled(false);
         et.setOnClickListener(mTouchTextFieldListener);
     }
}

private OnClickListener mTouchTextFieldListener = new OnClickListener()
{
     EditText et;
     public void onClick(View v) 
     {
         et = (EditText)v;

         final CharSequence[] items = {"1", "2", "3"};
         AlertDialog.Builder builder = new AlertDialog.Builder(getApplicationContext());
         builder.setTitle("Pick a hcp");
         builder.setItems(items, new DialogInterface.OnClickListener()
         {
            public void onClick(DialogInterface dialogInterface, int item) 
            {
                et.setText(items[item]);
                Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();

                 return;
             }
         });
         builder.create().show(); 
     }
 };

此方法循环应用程序中的所有编辑文本,并尝试将弹出对话框设置为输入,但其工作方式与上述方式不同。真的需要建议,thx提前

尝试将活动本身存储为静态变量,并将其用于上下文,而不是
getApplicationContext()

在你们班:

private static Activity activity;
onCreate()中的某处

然后做:

AlertDialog.Builder builder = new AlertDialog.Builder(activity);
activity = this;
AlertDialog.Builder builder = new AlertDialog.Builder(activity);