Android PopupWindow中的自动完成文本视图
我在点击按钮时显示弹出窗口,如下所示Android PopupWindow中的自动完成文本视图,android,autocompletetextview,Android,Autocompletetextview,我在点击按钮时显示弹出窗口,如下所示 public void Search_Click(View view) { try { Display display=getWindowManager().getDefaultDisplay(); LayoutInflater inflater = (LayoutInflater) IssueTokenActivity.this .ge
public void Search_Click(View view) {
try
{
Display display=getWindowManager().getDefaultDisplay();
LayoutInflater inflater = (LayoutInflater) IssueTokenActivity.this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.activity_pop_up_transporter_details,
(ViewGroup) findViewById(R.id.popup_element));
AutoCompleteTextView act=(AutoCompleteTextView)layout.findViewById(R.id.act_trans_name);
ArrayAdapter<String> dataadapter=new ArrayAdapter<String>(view.getContext(), android.R.layout.simple_dropdown_item_1line,list);
dataadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
act.setAdapter(dataadapter);
act.setThreshold(1);
//TODO: Need to support for higher API
pwindo = new PopupWindow(layout,display.getWidth()-60, display.getHeight()-400, true);
pwindo.showAtLocation(layout, Gravity.CENTER, 0, 0);
btnClosePopup = (Button) layout.findViewById(R.id.btn_close_popup);
btnClosePopup.setOnClickListener(cancel_button_click_listener);
}
catch (Exception e)
{
e.printStackTrace();
}
}
最好使用dialog(android.app.dialog)来实现AutoCompleteTextView。在我看来,在PopupWindow中添加AutoCompleteTextView是不可能的(你会得到异常)。您可以在Popupwindow中添加微调器。如果您使用对话框而不是弹出窗口,则可以实现这两种功能。不要膨胀布局文件,将其添加到
R.id.popup\u元素
视图组,然后将膨胀的布局添加为Popupwindow
的内容。谢谢,您能提供一些更详细的信息吗?对于开始使用View layout=inflater.inflate(R.layout.activity\u pop\u up\u transporter\u details,null)
并查看错误是否消失。没有仍然得到相同的错误您似乎无法从PopupWindow
中显示另一个PopupWindow
,而这正是AutoCompleteTextView
所做的。看见
06-20 09:15:47.091: E/AndroidRuntime(23277): android.view.WindowManager$BadTokenException: Unable to add window -- token android.view.ViewRootImpl$W@40ece840 is not valid; is your activity running?
06-20 09:15:47.091: E/AndroidRuntime(23277): at android.view.ViewRootImpl.setView(ViewRootImpl.java:567)
06-20 09:15:47.091: E/AndroidRuntime(23277): at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:246)
06-20 09:15:47.091: E/AndroidRuntime(23277): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
06-20 09:15:47.091: E/AndroidRuntime(23277): at android.widget.PopupWindow.invokePopup(PopupWindow.java:993)
06-20 09:15:47.091: E/AndroidRuntime(23277): at android.widget.PopupWindow.showAsDropDown(PopupWindow.java:899)
06-20 09:15:47.091: E/AndroidRuntime(23277): at android.widget.ListPopupWindow.show(ListPopupWindow.java:603)