2017-07-19 9 views
0

私は、画面のどこかに(上部の近くに)配置されたボタン付き画面を持っています。以下のスクロールとedittextのポップアップメニュー

私はボタンをクリックし、この結果を取得したいと思い

:メニューは右ボタンの下にを開いた を、あなたが(リストから)テキストを選択するか、自分の文章を書くことができます(「ここに入力.." 書かれた)。

enter image description here

私は、このポップアップメニューをしました:

PopupMenu popupMenu = new PopupMenu(this, buttonChooseText); 
    for (int i = 0; i < listDefaultText.size(); ++i) { 
     // the list is from String type and contains "text1" and so on 
     popupMenu.getMenu().add(listDefaultText.get(i); 
    } 
    popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { 
     @Override 
     public boolean onMenuItemClick(MenuItem item) { 
      switch (item.getTitle().toString()) { 
       case "Text1" : 
        //execute "text1" action 
        break; 
       case "Text2" : 
        //execute "text2" action 
        break; 
      } 
      return false; 
     } 
    }); 
    popupMenu.show(); 

それでは、どのよう私はこの結果を得ることができますか?

+0

あなたがリスト(text1、text2 ...)を必要としない場合、検索のためにテキストを入力するか、または項目 – codecrazer

+0

を追加する理由は何ですか?彼は自分のテキストを書くことができます。だから彼が "Submit"を押すと、私はこのedittext文字列をとり、画面上のどこかに(ポップアップではなく)それを表示します。彼がリストから選択すると、私は押されたアイテム( "text1"など)のテキストを取り、それをどこかに表示します。それを得ることを望みます。 –

答えて

1

PopupMenuは、メニュー項目以外のビューを含むという点で柔軟性があまりないため、要件を満たしていない可能性があります。カスタムレイアウトをサポートする代わりにPopupWindowを使用してください。 Hereがその例です。

+0

私は必要なもののようです。完璧、ありがとう! –

関連する問題