java - 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
解决方案
删除此行并检查,
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
推荐阅读
- c# - HttpClient SendAsync 可以不阻塞 GUI 线程吗?
- wxpython - 如何在图像上绘制矩形框;wxPython?
- matlab - 线性索引的下标
- javascript - 编辑脚本以应用于所有工作表
- linux - 如何在没有 root 的情况下更新 libstdc++(未找到版本“GLIBCXX_3.4.20”)?
- java - 单击直到框架关闭时如何禁用按钮?
- c - OpenSSL“错误:'ctx'的存储大小未知”
- python - 当我给出 Gz 文件类型的 Zip 文件时,如何从图像数据集中导入数据。我已经提取了吗?
- git - doxygen 相对图像路径和源目录结构
- javascript - Vue(哈希)路由器,当部分哈希更改时更新以及浏览器后退按钮(更好的方法)