【问题标题】:Setting spinners in fragment在片段中设置微调器
【发布时间】:2016-04-29 03:17:48
【问题描述】:

我正在尝试从我的onCreateView 中的一个片段中的一个字符串数组为我的微调器设置值public final class Manual extends Fragment

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    View v = inflater.inflate(R.layout.manual, container, false);

    String [] values = 
        {"Time at Residence","Under 6 months","6-12 months","1-2 years","2-4 years","4-8 years","8-15 years","Over 15 years",};
    Spinner spinner = (Spinner) v.findViewById(R.id.spinner1);
    ArrayAdapter<String> LTRadapter = new ArrayAdapter<String>(this.getActivity(), android.R.layout.simple_spinner_item, values);
    LTRadapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
    spinner.setAdapter(LTRadapter);

    return inflater.inflate(R.layout.manual, container, false);

}

我的代码没有错误,但它没有设置微调器。微调器保持空白,没有任何值。关于为什么我的代码没有设置微调器的任何想法?

【问题讨论】:

    标签: android android-fragments spinner


    【解决方案1】:

    问题是我返回的是一个新视图,而不是我设置的那个。我必须return v;,它工作正常。

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    
        View v = inflater.inflate(R.layout.manual, container, false);
    
        String [] values = 
            {"Time at Residence","Under 6 months","6-12 months","1-2 years","2-4 years","4-8 years","8-15 years","Over 15 years",};
        Spinner spinner = (Spinner) v.findViewById(R.id.spinner1);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this.getActivity(), android.R.layout.simple_spinner_item, values);
        adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
        spinner.setAdapter(adapter);
    
        return v;
    
    }
    

    【讨论】:

    • 我确实犯了和你一样的错误,谢谢你发布这个。
    • 我花了一天时间弄清楚视图的 v.findViewById,非常感谢@Nick
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多