我遇到的问题与this other stackoverflow thread中描述的问题相同,但是在尝试了该线程中的答案后,问题仍然没有解决。
这是当前情况:我有一个适用于手持式android设备的应用程序,我们希望在某些较大的平板电脑上使用它。
微调器可以在较小的手持设备上正常显示,但在平板电脑上,微调器的选定项目文本将不会显示。选择下拉列表将正常显示预期值。只是封闭的下拉列表不显示值。
更改字体/背景色不能解决问题。
在数据集更新后使用adapter.notifyDataSetChanged()
不能解决问题。
我也尝试使用wrap_content
,70dp
和70sp
来确定高度,以确保这不是尺寸问题
手持信息
平板电脑信息
微调器的LinearLayout位于:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
微调代码
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/mech" />
Spinner值分配:
var response = await this.api.GetMechanics();
var adapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleSpinnerDropDownItem);
foreach (var mech in response.Data)
adapter.Add(mech.code);
this.mySpinner.Adapter = adapter;
应用程序的创建和使用:
using Android.App;
using Android.Support.V7.App;
using Android.Support.V7.Widget;
using Android.Widget;
using System;
namespace MyProject
{
[Activity(Label = "MyProject", MainLauncher = true, ScreenOrientation = Android.Content.PM.ScreenOrientation.Portrait)]
public class Main : AppCompatActivity
{
AppCompatSpinner _mech;
protected override void OnCreate(Android.OS.Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.Main);
this._mech = FindViewById<AppCompatSpinner>(Resource.Id.mech);
}
}