Reputation: 941
I am showing PopupWindow on button click like this.
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();
}
}
But I am getting this error while typing in AutoCompleted TextView.
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)
Upvotes: 2
Views: 2414
Reputation: 341
Better to use dialog(android.app.Dialog) to implement AutoCompleteTextView.In my opinion its not possible to add AutoCompleteTextView in PopupWindow(you will get Exception).You can add Spinner in Popupwindow.You can implement both if are using dialog instead of popup.
Upvotes: 1