我只想汇总Spinner项上的下拉列表,但无法弄清楚如何在我的代码中应用adapter.setDropDownViewResource(R.layout.simple_spinner_dropdown_item);
:
sp_period_q = (Spinner) findViewById(R.id.spin_per_q);
sp_period_q.setAdapter(new ArrayAdapter<String>(this,
R.layout.spinner_item, Utils.getQuantities()));
最佳答案
假设您还覆盖了getDropDownView方法,则使用setDropDownViewResource(int layoutResourceId)进行操作的方式应该可以工作。
从您的重写方法中调用super.getDropDownView将使您膨胀,并将其传递回正确的布局,然后按照所需的方式进行设置。
就像是:
@Override
public View getDropDownView (int position, View convertView, ViewGroup parent) {
// Let super.getDropDownView do the work of inflating and returning
// to us the right drop down view resource.
View view = super.getDropDownView(position, convertView, parent);
// Setup your view here
return view;
}
但是,当您在Spinner上调用setAdapter时,似乎正在创建另一个ArrayAdapter。
您必须在对setAdapter的调用之外创建ArrayAdapter,然后将创建的适配器传递给setAdapter。
关于java - 如何在Spinner上使用用户setdropdown,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31659536/