微调框不显示所选值

时间:2019-03-04 17:03:53

标签: c# android xamarin

我遇到的问题与this other stackoverflow thread中描述的问题相同,但是在尝试了该线程中的答案后,问题仍然没有解决。

这是当前情况:我有一个适用于手持式android设备的应用程序,我们希望在某些较大的平板电脑上使用它。

微调器可以在较小的手持设备上正常显示,但在平板电脑上,微调器的选定项目文本将不会显示。选择下拉列表将正常显示预期值。只是封闭的下拉列表不显示值。

Images of Issue

更改字体/背景色不能解决问题。

在数据集更新后使用adapter.notifyDataSetChanged()不能解决问题。

我也尝试使用wrap_content70dp70sp来确定高度,以确保这不是尺寸问题

手持信息

  • Android Oreo 8.1

平板电脑信息

  • 三星Galaxy Tab A(8英寸)
  • Android Oreo 8.1
  • Nexus Experience 9.5

微调器的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);
        }
}

0 个答案:

没有答案