これは、以前に投稿したこの回答から取得したものです-スピナーの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");
ここには他にもいくつかの良い解決策があります-