奇怪的事情發生。我正在嘗試爲微調設置背景。 spinner.setBackgroundResource(R.drawable.spinner_error);
此代碼在低於5的Android版本中工作良好,但在棒棒糖中,此代碼無所作爲。我試圖改變顏色spinner.setBackgroundColor(Color.RED);
,但它只能讓微調不可見。那麼,如何改變微調器顏色/資源?setBackgroundResource()在Android 5中微調不起作用
編輯: 適配器代碼:
public class FuelStoragesAdapter extends ArrayAdapter<ModelFuelStorage> {
private Context context;
private List<ModelFuelStorage> fuelStorages;
private boolean addAdditionalItems = false;
public FuelStoragesAdapter(Context context, List<ModelFuelStorage> fuelStorages, boolean addAdditionalItems) {
super(context, android.R.layout.simple_spinner_item, fuelStorages);
this.context = context;
this.fuelStorages = fuelStorages;
this.addAdditionalItems = addAdditionalItems;
setDropDownViewResource(R.layout.spinner_dropdown_layout);
if (addAdditionalItems)
addAdditionalItems();
}
public void addStorage(ModelFuelStorage fuelStorage) {
insert(fuelStorage, getCount() - 1);
notifyDataSetChanged();
}
public void addAdditionalItems() {
fuelStorages.add(new ModelFuelStorage(0, context.getString(R.string.add_new_storage), 0));
fuelStorages.add(new ModelFuelStorage(-1, context.getString(R.string.choose_storage), 0));
}
@Override
public int getCount() {
if (addAdditionalItems)
return super.getCount() - 1; // you dont display last item. It is used as hint.
else
return super.getCount();
}
public int getPosition(int storageId){
for(ModelFuelStorage storage : fuelStorages)
if(storage.getId() == storageId)
return fuelStorages.indexOf(storage);
return 0;
}
}
要設置「R .layout.spinner_dropdown_layout「佈局到您的微調器。請分享此代碼。 –