zoukankan      html  css  js  c++  java
  • Android spinner 动态添加时报错 java.lang.UnsupportedOperationException



    // spinner Adapter
    private ArrayAdapter<String>     spinnerAdapter   = null;
    private Spinner                  detailSpinner;
    private String[]   taskStatus = null;
    private List<String> statuses = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.setContentView(R.layout.spinner_notifydatachanged) ;
    taskStatus = new String[]{"a","b","c"} ;

    statuses = new ArrayList<String>() ;
    statuses.add("a") ;
    statuses.add("b") ;
    statuses.add("c") ;
    detailSpinner = (Spinner)this.findViewById(R.id.statusSel);
    spinnerAdapter =new ArrayAdapter<String>(this,
        android.R.layout.simple_spinner_item,statuses ) ;

    spinnerAdapter
        .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    detailSpinner.setAdapter(spinnerAdapter);
    Button button = (Button)this.findViewById(R.id.button1) ;
    button.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
    taskStatus = null ;
    taskStatus= new String[]{"a","b","c","d"} ;
    //statuses.add("d") ;
    statuses = new ArrayList<String>() ;
    statuses.add("1") ;
    statuses.add("2") ;
    statuses.add("3") ;
    statuses.add("4") ;
    spinnerAdapter.notifyDataSetChanged() ;
    }
    }) ;

    }


    这样的结果:是Spinner 不会刷新的。spinnerAdapter.notifyDataSetChanged() ; 没有效果

    原因:@Override
    public void onClick(View v) {
    taskStatus = null ;
    taskStatus= new String[]{"a","b","c","d"} ;
    //statuses.add("d") ;
    statuses = new ArrayList<String>() ;
    statuses.add("1") ;
    statuses.add("2") ;
    statuses.add("3") ;
    statuses.add("4") ;
    spinnerAdapter.notifyDataSetChanged() ;
    }

    红色字体的那就是原因。  这里不能初始化。

  • 相关阅读:
    jsonp 监控简陋代码
    Oracle多线程并行使用、关联与指定索引执行
    Oracle计算时间差表达式
    行查列显
    JS时间
    通过string型类名实例化一个类
    sotower1.5-LS_工作流容易出错的地方
    oracle11g ORA-12505
    华项笔记本显示颜色变黄,调整好了重启还是偏黄
    ORA-00031: session marked for kill 处理Oracle中杀不掉的锁
  • 原文地址:https://www.cnblogs.com/java20130722/p/3207332.html
Copyright © 2011-2022 走看看