【问题标题】:Android Spinner Adapter Setting to spinnerAndroid Spinner 适配器设置为微调器
【发布时间】:2014-01-09 13:26:56
【问题描述】:

我正在使用 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);
}

【问题讨论】:

  • 你能发布你得到的异常吗?
  • 您遇到了哪种类型的错误?哪一行?

标签: android spinner


【解决方案1】:

你在下面的代码中传递了this

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

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

【讨论】:

  • 这是一个活动兄弟,我在触发事件时调用的方法中填充微调器,这就是问题,在 doCreate() 方法中填充微调器解决了它,谢谢!
【解决方案2】:

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

【讨论】:

  • 您绝对可以将阵列适配器与微调器先生一起使用
  • :-) 我同意这应该是可能的,但如果没有完整的回溯,我们只能进行猜测。
  • 谢谢兄弟,我的问题是我想在触发事件时填充微调器,我修改了我的设计,使微调器填充到 onCreate() 方法中的另一个活动中并属于另一个布局,现在可以了。谢谢你!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-22
  • 1970-01-01
  • 2018-04-21
  • 1970-01-01
  • 2015-09-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多