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

10-09 01:11