Android:自定义ListAdapter扩展BaseAdapter在应用程序启动时崩溃

数据从本地数据库中提取,然后使用游标进行映射。 自定义适配器显示类似于ListView的数据。 随着项目从数据库添加/删除,适配器应该刷新。 下面的解决scheme尝试启动时崩溃的应用程序。 有什么build议么?

先谢谢了

@Override public View getView(int position, View convertView, ViewGroup parent) { View v = convertView; ViewGroup p = parent; if (v == null) { LayoutInflater vi = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = vi.inflate(R.layout.items_row, p); } int size = mAdapter.getCount(); Log.d(TAG, "position " + position + " Size " + size); if(size != 0){ if(position < size) return mAdapter.getView(position, v, p); Log.d(TAG, "-position " + position + " Size " + size); } return null; } 

例外:

 03-23 00:14:10.392: ERROR/AndroidRuntime(718): java.lang.UnsupportedOperationException: addView(View, LayoutParams) is not supported in AdapterView 03-23 00:14:10.392: ERROR/AndroidRuntime(718): at android.widget.AdapterView.addView(AdapterView.java:461) 03-23 00:14:10.392: ERROR/AndroidRuntime(718): at android.view.LayoutInflater.inflate(LayoutInflater.java:415) 03-23 00:14:10.392: ERROR/AndroidRuntime(718): at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 03-23 00:14:10.392: ERROR/AndroidRuntime(718): at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 03-23 00:14:10.392: ERROR/AndroidRuntime(718): at com.xyz.abc.CustomSeparatedListAdapter.getView(CustomSeparatedListAdapter.java:90) ... 

Solutions Collecting From Web of "Android:自定义ListAdapter扩展BaseAdapter在应用程序启动时崩溃"

 v = vi.inflate(R.layout.items_row, p); 

添加一个false第三个参数给这个调用,我认为你的问题将会消失。 电话应该成为:

 v = vi.inflate(R.layout.items_row, p, false); 

改变这个代码

 v = vi.inflate(R.layout.items_row, p); 

 v = vi.inflate(R.layout.items_row, null );