Android Spinner Adapter设置为微调器

时间:2014-01-09 13:26:56

标签: android spinner

我正在使用eneter框架来处理我的android应用程序中的通信; 问题是当我正在尝试填充微调器时,将适配器设置为微调器会导致未定义的异常

这里是代码

public void populateSpinner(TypedResponseReceivedEventArgs<String> arg1){
    List<String> list = new ArrayList<String>();
    String listf = arg1.getResponseMessage();
    //sendToDebug(listf);
    StringTokenizer tokenizer = new StringTokenizer(listf,",");
    while(tokenizer.hasMoreElements()){
        list.add((String)tokenizer.nextElement());
    }
    //EditText text = (EditText)findViewById(R.id.number2EditText);
    //text.setText(list.size());
    //text.setText(listf);
    Spinner forfait = (Spinner)findViewById(R.id.forfaitsSpinner);
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,list);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    forfait.setAdapter(adapter);
}

2 个答案:

答案 0 :(得分:35)

您正在以下代码段中传递this

 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                    android.R.layout.simple_spinner_item,list);

不确定此代码位于哪个块或哪个类,但确保 this 引用ActivityName.classthe context

答案 1 :(得分:0)

这很可能是因为您使用的是ArrayAdapter而不是SpinnerAdapterArrayAdapterSpinnerAdapter接口的间接实现者,而不是声明它实现接口的接口。检查未定义的异常。它可能会告诉您setAdapter(ArrayAdapter)没有定义Spinner