java – Android Eclipse所有Spinner字体都变成了白色

前端之家收集整理的这篇文章主要介绍了java – Android Eclipse所有Spinner字体都变成了白色前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的项目中,所有Spinner字体突然变成白色,这是我找不到的原因.之前他们都是黑人.例如,在微调器中,下拉列表全部为白色.它的 XML文件如下;
<Spinner
    android:id="@+id/mainactivity_spinner_city"
    android:fontFamily="Roboto"
    android:layout_width="250dp"
    android:layout_height="wrap_content"
    android:layout_below="@+id/mainactivity_imageview_logo"
    android:layout_marginTop="15dp"  />

为了确保,我将#000000添加到所有相关位置,但列表仍为白色.使用以下方法填充微调器;

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

所以我给simple_spinner_item和simple_spinner_dropdown_item添加了黑色,但仍然没有变化.在Java部分,我没有做任何与颜色有关的事情.可能导致所有这些文本变白的原因是什么?

编辑:只有微调器有问题.我可以改变其他元素的文字颜色.但即使我将textColor:“#000000”插入与旋转器相关的任何地方,我也无法更改微调器.

解决方法

找到了理由.

当我在其他程序中与其他微调器一起处理时,我意识到这个奇怪的事实导致字体变白.即使这个问题看起来像样式问题,其根本原因在于应用程序上下文.在我的旧代码中,我使用以下代码填充Spinner;

ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(),list);

然后我更改了context参数,如下所示;

ArrayAdapter<String> adapter= new ArrayAdapter<String>(MainActivity.this,list);

然后所有不受欢迎的白色字体变黑!

如果使用getApplicationContext()作为上下文参数,则某些样式可能不正确.因此,尝试直接调用上下文硬编码,如适配器中的YourActivity.this将解决问题.

猜你在找的Java相关文章