`

ArrayAdapter.add-->java.lang.UnsupportedOperationException

阅读更多
source code:
cities = new String[] { "Android", "BlackBerry", "J2ME","Symbian","Broncho", "LinuxMobile", "Palm", "WindwosMobile" }; 
cityList = Arrays.asList(cities);
arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,cityList);


situation
利用ArrayAdapter.add方法添加spinner item时,抛出java.lang.UnsupportedOperationException...

root cause:ArrayList size固定,导致ArrayAdapter也是resizeable

solutions
1.在创建ArrayAdapter时,不设置固定size的ArrayList
arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item); 
cities = new String[] { "Android", "BlackBerry", "J2ME","Symbian","Broncho", "LinuxMobile", "Palm", "WindwosMobile" }; 
for(int i=0; i<cities.length; i++){
   arrayAdapter.add(cities[i]);
}


2.利用arrayAdapter.addAll(String...items)或者arrayAdapter.addAll(Collection<? extends String> collection),需API11及以上提供支持
分享到:
评论

相关推荐

    安卓实现选择二级地区

    provinceAdapter = new ArrayAdapter&lt;&gt;(this, android.R.layout.simple_spinner_item, getResources().getStringArray(R.array.province_array)); provinceAdapter.setDropDownViewResource(android.R.layout....

    Android应用源码之(列表之ArrayAdapter适配)-IT计算机-毕业设计.zip

    ArrayAdapter&lt;String&gt; adapter = new ArrayAdapter&lt;&gt;(context, android.R.layout.simple_list_item_1, data); ``` 在这个例子中,`android.R.layout.simple_list_item_1`是一个预定义的简单文本视图,`data`是包含...

    android-custom-arrayadapter, 一个简单的示例应用程序,演示如何使用定制的ArrayAdapter.zip

    android-custom-arrayadapter, 一个简单的示例应用程序,演示如何使用定制的ArrayAdapter Android中的定制ArrayAdapter示例这个应用程序演示如何创建和使用自定义ArrayAdapter来显示自定义列表项视图,该视图比标准...

    android listview item背景色点击效果实例

    public class CustomAdapter extends ArrayAdapter&lt;String&gt; { private boolean[] clickedItems; // 构造函数中初始化clickedItems public CustomAdapter(Context context, int resource, List&lt;String&gt; items) ...

    Node.js-Android联系人列表过滤搜索sidebar导航条

    为了使数据加载更流畅,可以使用`Adapter`来绑定数据源,例如`ArrayAdapter`或`CursorAdapter`,这取决于数据是否来自数据库。 接下来,我们谈谈联系人列表的过滤搜索功能。这个特性允许用户通过输入关键词实时过滤...

    Node.js-Android高级UI滚动可选可搜索ListView可通过字母快速对应到相应位置

    - 使用ListView时,通常需要自定义Adapter,例如继承BaseAdapter或ArrayAdapter,以适应特定的数据结构和UI需求。 2. **滚动可选** - ListView支持触摸事件,用户可以通过点击来选择列表项。开发者需要实现...

    android 省市二级联动数据

    ArrayAdapter&lt;CharSequence&gt; aAdapter = ArrayAdapter.createFromResource(this, R.array.province, android.R.layout.simple_spinner_item); aAdapter.setDropDownViewResource(android.R.layout.simple_spinner_...

    Node.js-NodeListView节点ListView

    - Android提供了多种内置的Adapter,如ArrayAdapter、CursorAdapter等,开发者也可以自定义Adapter来满足特殊需求。 3. **NodeListView特性**: - "NodeListView"可能是对标准ListView的一个扩展或优化,可能是...

    Android实现联动下拉框二级地市联动下拉框功能

    ArrayAdapter&lt;CharSequence&gt; cityAdapter = ArrayAdapter.createFromResource(MainActivity.this, cityArrayResId, android.R.layout.simple_spinner_item); spinner2.setAdapter(cityAdapter); } } // ... }...

    GridView添加与删除

    ArrayAdapter&lt;String&gt; adapter = new ArrayAdapter&lt;&gt;(this, android.R.layout.simple_list_item_1, dataList); ``` 然后将适配器设置给`GridView`: ```java gridView.setAdapter(adapter); ``` 关于“添加与删除...

    Android利用DrawerLayout实现侧滑菜单

    navView.setAdapter(new ArrayAdapter&lt;&gt;(this, android.R.layout.simple_list_item_activated_1, android.R.id.text1, getResources().getStringArray(R.array.nav_items))); navView.setItemChecked(0, true); // ...

    低版本兼容的ActionBar下拉导航+悬浮透明样式

    ArrayAdapter&lt;CharSequence&gt; adapter = ArrayAdapter.createFromResource( this, R.array.nav_items, android.R.layout.simple_spinner_dropdown_item); getSupportActionBar().setListNavigationCallbacks...

    Android代码-ArrayAdapter

    ArrayAdapter for RecyclerView RecyclerView doesn't ship a ready to go RecyclerView.Adapter implementation as ListView did with the ArrayAdapter. This library is this missing ArrayAdapter. Easy to use...

    ScrollView中嵌套ListView的例子

    ArrayAdapter&lt;String&gt; adapter = new ArrayAdapter&lt;&gt;(this, android.R.layout.simple_list_item_1, dataList); listView.setAdapter(adapter); ``` 最后,如果ListView中的数据量仍然很大,为了优化性能,可以考虑...

    MyAppListview.zip

    ArrayAdapter&lt;String&gt; adapter = new ArrayAdapter&lt;&gt;(this, R.layout.list_item, R.id.item_title, items); listView.setAdapter(adapter); ``` 动态加载数据到ListView通常涉及到网络请求或数据库查询。你可以使用...

    3-10-1(列表之ArrayAdapter适配).zip

    ArrayAdapter提供了一些基本方法,如`add()`, `insert()`, `remove()`和`clear()`,用于动态添加、插入、删除和清空数据。当你修改数据源后,记得调用`notifyDataSetChanged()`通知Adapter数据已改变,以便更新...

    ArrayAdapter API

    ArrayAdapter&lt;String&gt; adapter = new ArrayAdapter&lt;String&gt;(this, android.R.layout.simple_list_item_1, fruits); // 将适配器绑定到ListView listView.setAdapter(adapter); ``` 在这个示例中: - 首先创建了一...

    修改spinner字体大小及颜色,还有列表样式

    ArrayAdapter&lt;String&gt; adapter = new ArrayAdapter&lt;&gt;(this, R.layout.custom_spinner_item, options); ``` 2. **修改颜色**: - 在上述布局文件中,你可以直接通过`android:textColor`属性设置文字颜色,或者在...

    android listview分类

    在Android中,常见的Adapter有ArrayAdapter、CursorAdapter和BaseAdapter等。在这个例子中,我们可能需要用到自定义的Adapter来实现分类功能。 1. 创建数据模型: 首先,为每种分类定义一个数据模型类,例如`...

    android 左右侧滑抽屉菜单demo

    drawerListView.setAdapter(new ArrayAdapter&lt;&gt;(this, R.layout.drawer_list_item, drawerMenuItems)); drawerListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void...

Global site tag (gtag.js) - Google Analytics