【问题标题】:How to user setdropdown on Spinner如何在 Spinner 上使用 setdropdown
【发布时间】:2015-07-28 01:59:39
【问题描述】:

我只想在 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())); 

【问题讨论】:

    标签: java android eclipse spinner


    【解决方案1】:

    假设您还覆盖了您的 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。

    【讨论】:

    • 这一切只是为了改变字体颜色? :(对于初学者来说太多了:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-02
    • 2018-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-16
    • 2015-08-26
    相关资源
    最近更新 更多