我从ArrayList(listaprac)填充Spinner(SpinnerPrac)。微调器工作正常,但我想对最后一个元素setTextColor
进行操作。
这是我的适配器
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, R.layout.spinneritem, listaprac);
dataAdapter.setDropDownViewResource(R.layout.custom_spinner);
SpinnerPrac.setAdapter(dataAdapter);
我想我应该使用
getChildAt(listaprac.size())
方法并像这样设置颜色:((TextView) SpinnerPrac.getChildAt(listaprac.size())).setTextColor(Color.rgb(255, 0, 0));
但是它返回空指针异常。
我尝试返回ChildCount
SpinnerPrac.getChildCount()
但返回0。为什么会发生?我在spinner
中有6个项目。 最佳答案
为什么您不能在getView
的ArrayAdapter
方法中执行此操作。检查位置,如果与列表大小匹配,请更改View
的颜色
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(position == list.size() - 1){
convertView.setTextColor(Color.rgb(255, 0, 0));
}
}