首页 > 解决方案 > Android Spinner 不显示下拉菜单

问题描述

我试图在FrameLayout中显示一个微调器,但它没有显示下拉菜单。我找不到问题。

XML

 <FrameLayout
//design continue here
    <LinearLayout
            android:id="@+id/tab3"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#5b89ff"
            android:orientation="vertical">
            <Spinner
                android:id="@+id/spinner"
                android:spinnerMode="dropdown"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
            />

        </LinearLayout>
    </FrameLayout>`

代码

final List<String> list=new ArrayList<>();

    list.add("jamshaid");
    list.add("jamshaid");
    list.add("jamshaid");
    list.add("jamshaid");
    list.add("jamshaid");

    ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(MainActivity.this,
            android.R.layout.simple_spinner_item, list);
    arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(arrayAdapter);

我的 onCreate 方法

TabHost host; 
host = findViewById(R.id.tabHost);
    spinner= findViewById(R.id.spinner);
    progressDialog=new ProgressDialog(this);
    host.setup();
    //Tab 1
    TabHost.TabSpec spec = host.newTabSpec("News Feed");
    spec.setContent(R.id.tab1);
    spec.setIndicator("News Feed");
    host.addTab(spec);`

更新 1

使用 RelativeLayout 而不是 FrameLayout 抛出
android.widget.RelativeLayout cannot be cast to android.widget.FrameLayout

标签: javaandroidandroid-spinner

解决方案


删除此行并检查,

arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //Comment this line

也试试这个改变:

ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(MainActivity.this,
            android.R.layout.simple_spinner_dropdown_item, list); //Changed layout resource id

推荐阅读