0

記事の「セクション」のリストを含むスピナーがあります-「ニュース、スポーツ、ローカル、オビット...」など。

また、セクションのヘッダーも兼ねているため、ユーザーは自分が見ている記事がわかります。

ユーザーが検索を行うと、「検索」セクションが自動的に選択されるため、スピナーは「検索」にあり、検索結果が表示されます。問題は、「検索」はセクションではないため、何も起こらないため、ユーザーが手動で「検索」セクションを選択できるようにしたくないということです。

そのスピナーオプションを生成するXMLファイルから「検索」を削除するだけでよいと思いましたが、検索時にスピナーのテキストを手動で「検索」に設定するにはどうすればよいですか?

私が考えていない、これを行うためのより良い/別の方法はありますか?

4

1 に答える 1

0

これは、以前に投稿したこの回答から取得したものです-スピナーのsetPromptは機能しません

あなたの質問にほとんど答えています - いいえ、これを回避する方法はいくつかあります - この投稿はその1つを示し、他のいくつかは下部のリンクにあります

ボタンを使用して、そこからドロップダウン リストを作成できます。

まず、レイアウトでスピナーをボタンに置​​き換え、プロンプトに指定したテキストを入力します

次に、スピナーのアイテムのリストを optionmenu.xml というファイルに移動します。

次に、ボタンを宣言し、onClickListener を設定します。

そのメソッド内に、次のコードを入れます

4 行目で、指定したレイアウトが optionmenu レイアウトになります

public void showPopup(View v) {
PopupMenu popup = new PopupMenu(this, v);
MenuInflater inflater = popup.getMenuInflater();
inflater.inflate(R.layout.optionmenu, popup.getMenu());
popup.show();
} When you call this method, you need to do the following

    View p = (View)findViewById(R.id.spinner button);
showPopup(p);

この価格のコードでは、View p は、メニューの上隅に表示する場所のビューです。したがって、この場合、それはあなたのボタンになります

実装するには、こちらの回答を参照してください-Androidメニューコードが機能しない

そして、各case:ステートメントに、ボタン テキストを文字列として設定する行を挿入します。

case R.id.item1:
button.setText("item1");

ここには他にもいくつかの良い解決策があります-

于 2012-11-13T19:51:09.467 に答える