我只想对 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/