2013-06-20 2 views
2

Я показываю PopupWindow на кнопке, вот так.Autocomplete TextView в PopupWindow

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

Но я получаю эту ошибку при наборе текста в AutoCompleted TextView.

06-20 09:15:47.091: E/AndroidRuntime(23277): android.view.WindowManager$BadTokenException: Unable to add window -- token [email protected] 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) 
+0

Не раздувайте файл макета и добавляйте его в группу просмотра «R.id.popup_element», а затем добавляйте этот раздутый макет в качестве содержимого для «PopupWindow». – Luksprog

+0

Спасибо, не могли бы вы рассказать подробнее? – Giri

+0

Для начала используйте 'View layout = inflater.inflate (R.layout.activity_pop_up_transporter_details, null);' и посмотреть, не исчезла ли ошибка. – Luksprog

ответ

0

Лучше использовать диалог (android.app.Dialog) осуществлять AutoCompleteTextView.In мое мнение его не представляется возможным добавить AutoCompleteTextView в PopupWindow (вы получите исключение) .Вы можете добавить Spinner в Popupwindow.You можно реализовать оба они используют диалог вместо popup.

Смежные вопросы