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() ;
    }

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

  • 相关阅读:
    平方十位数
    随意组合
    显示二叉树
    四阶幻方
    方格填数
    数字排列
    青蛙跳N阶(变态跳)
    Mysql可重复读、避免幻读原理
    动态规划典型例题--连续子数组的最大和
    行列有序的二维数组查找
  • 原文地址:https://www.cnblogs.com/java20130722/p/3207332.html
Copyright © 2011-2022 走看看