【发布时间】:2012-10-22 02:57:29
【问题描述】:
我只想更改微调器文本的字体和大小。
我已经做了一些初步的尝试。没有什么崩溃,但我的微调器是空白的。 (我还没有实现自定义字体,我只是想让微调器先工作。
在代码中:
protected SpinnerSortAdapter sAdapter;
protected Spinner sort;
protected String[] strings;
sort = (Spinner) getActivity().findViewById(R.id.spinner2);
strings = getActivity().getResources().getStringArray(R.array.sorting_items);
SpinnerSortAdapter sAdapter = new SpinnerSortAdapter(getActivity(),
android.R.layout.simple_spinner_item, strings);
sAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sort.setAdapter(sAdapter);
sort.setOnItemSelectedListener(new MyOnItemSelectedListener());
适配器:
public class SpinnerSortAdapter extends ArrayAdapter<String> {
public SpinnerSortAdapter(Context context, int textViewResourceId,
String[] strings) {
super(context, textViewResourceId, strings);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
if (view instanceof TextView) {
((TextView) view).setTextSize(5);
}
return view;
}
public View getDropDownView(int position, View convertView, ViewGroup parent) {
View row = super.getView(position, convertView, parent);
return (row);
}
}enter code here
【问题讨论】:
-
为什么不使用[SpinnerAdapter][1]? [1]:developer.android.com/reference/android/widget/…
-
my spinner is blank 是什么意思?如果要更改微调器对话框中的文本,则必须实现
getDropdownView。 -
主要是因为我看到的大部分教程都使用了
ArrayAdapter。我当然会使用任何有效的方法! -
@Luksprog 它是空白的,因为在我的字符串数组中没有填充它。
-
您使用了错误的
ArrayAdapter超级类。你不能传递这样的数组。现在你正在实现 ArrayAdapter,它需要两个整数,一个布局文件和一个来自该布局的TextView的 ID(但你为数组提供了一个 ID?!?)所以适配器是空的。
标签: android spinner android-arrayadapter