2

我的 android 应用程序中有一些微调器。我已经通过 Web 服务从远程 sql server 数据库加载数据。以下是它的代码。

ArrayAdapter<String> reg_adp;
List<String> regions;

reg_adp=new ArrayAdapter<String> (this,android.R.layout.simple_list_item_1,regions);
reg_adp.setDropDownViewResource(android.R.layout.simple_list_item_1);
spinnerMon.setAdapter(reg_adp);

但它以大字体显示检索到的数据。单击下拉列表后出现的列表也具有相同的文本颜色和背景颜色(白色)。

我想更改该列表以及微调器的文本颜色和大小。我尝试创建一个新的 xml 文件并通过 ArrayAdaptor 将其调用到应用程序,如下所示。(我从另一个堆栈溢出答案中得到了这个)

<?xml version="1.0" encoding="utf-8"?>

<TextView  
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:textSize="20dip"
    android:gravity="left"  
    android:textColor="#FF0000"         
    android:padding="5dip"
    />

代码是:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.spinner_item,list);

当我要添加最后一行时,问题就来了。如果我添加“reg_adp”而不是“list”,则会出现错误。它需要列表作为 int。我尝试了其他各种方法。但是同样的错误来了。这可能是一件很小的事情。但我找不到正确的方法。任何帮助都将不胜感激。

4

2 回答 2

1

内 XML 代码(spinner_item.xml)......

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >

<TextView
    android:id="@+id/textview"
    android:layout_width="wrap_content"
    android:layout_height="50dip"
    android:layout_gravity="center_vertical"
    android:paddingLeft="5dp"
    android:paddingTop="12dp"
    android:textColor="#000000"
    android:textSize="16sp" />

</LinearLayout>

在java代码中......

reg_adp=new ArrayAdapter<String> (this,android.R.layout.simple_list_item_1,regions);
        reg_adp.setDropDownViewResource(android.R.layout.simple_list_item_1);

        ArrayList<String> a = new ArrayList<String>();

        for (int i = 0; i < reg_adp.getCount(); i++) {

            a.add(reg_adp.getItem(i));
        }

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                R.layout.spinner_item, R.id.textview, a);
        spinnerMon.setAdapter(adapter);

我刚刚将 String 类型的 ArrayAdapter 转换为 String 类型的 ArrayList。

于 2013-11-08T15:42:31.463 回答
0

您是否尝试过从代码中更改它,而不是在 XML 中设置它?

于 2013-11-08T12:13:41.170 回答