我正在尝试在程序中动态设置微调器的文本大小。我使用以下代码。文本大小更改但由于某种原因,即使数据库具有不同的值,我也使用setSelection方法根据数据库更新选择,因此微调器始终显示索引0处的项目。以下是我的代码。我做错了吗?
mAutoBackup = (Spinner) findViewById(R.id.auto_backup);
final CharSequence [] autoBackupValues = getResources().getStringArray(R.array.auto_backup_options);
// Create an ArrayAdapter using the string array and a default spinner layout
ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(this,
R.layout.spinner_header, autoBackupValues){
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = super.getView(position, convertView, parent);
if (v instanceof TextView)
((TextView) v).setTextSize(TypedValue.COMPLEX_UNIT_PX, normalTextSize);
return v;
}
@Override
public View getDropDownView(int position, View convertView,
ViewGroup parent) {
View v = super.getDropDownView(position, convertView, parent);
if (v instanceof TextView)
((TextView) v).setTextSize(TypedValue.COMPLEX_UNIT_PX, normalTextSize);
return v;
}
};
// Specify the layout to use when the list of choices appears
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
mAutoBackup.setAdapter(adapter);
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/spinner_header"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:textSize="22sp"
android:textColor="@android:color/black" >
</TextView>
答案 0 :(得分:0)
我发现了这个问题。由于代码流中的错误,在微调器上设置值后,我再次调用上面显示的代码片段,创建适配器并将其设置为微调器。修复了流动和世界是绿色的....