我有一個自定義的適配器來顯示無聊的東西的列表。現在,我想添加摘要(Resumen)的最後一個項目。滾動的多個佈局崩潰的ListView
我使用兩種佈局和兩個viewholders,它還挺工作
的問題開始,當我向後滾動到第一個項目。當「Resumen」項目消失(最後一個)時,活動崩潰。
讓我告訴你的適配器代碼(相關線路)
public class AdapterListaDeudaCliente extends BaseAdapter
{
final private int VIEW_TYPES = 2;
final private int TIPO_FACTURA = 1;
final private int TIPO_RESUMEN = 2;
public int getViewTypeCount()
{
return VIEW_TYPES;
}
public int getItemViewType(int position)
{
if(position%2==0)
return TIPO_RESUMEN;
else
return TIPO_FACTURA;
}
public int getCount()
{
return data.length;
}
public View getView(int position, View convertView, ViewGroup parent)
{
int tipo = getItemViewType(position);
switch(tipo)
{
case TIPO_FACTURA: convertView = layoutInflater.inflate(R.layout.elemento_deuda_basico, null);
break;
case TIPO_RESUMEN: convertView = layoutInflater.inflate(R.layout.elemento_deuda_resumen, null);
break;
}
return convertView;
}
}
最後,崩潰日誌:
FATAL EXCEPTION: main
java.lang.ArrayIndexOutOfBoundsException
at android.widget.AbsListView$RecycleBin.addScrapView(AbsListView.java:4078)
at android.widget.AbsListView.trackMotionScroll(AbsListView.java:2915)
at android.widget.AbsListView.onTouchEvent(AbsListView.java:2065)
at android.widget.ListView.onTouchEvent(ListView.java:3315)
at android.view.View.dispatchTouchEvent(View.java:3766)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:897)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1701)
at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1111)
at android.app.Activity.dispatchTouchEvent(Activity.java:2086)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1685)
at android.view.ViewRoot.handleMessage(ViewRoot.java:1785)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4635)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:916)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:674)
at dalvik.system.NativeStart.main(Native Method)
我會懷疑是明顯的東西,如果這個代碼不完全可以工作,但只有當摘要視圖消失時纔會崩潰......我無法檢測到失敗。
謝謝!
我改變了適配器和佈局。每個佈局僅由一個純文本視圖組成。當我滾動listView時,應用程序崩潰。
這很奇怪。
更多信息:我正在使用API級別8和兼容包。該活動是一個FragmentActivity,我在ViewPager中使用listView。
通常它會在崩潰日誌中提供一些信息,包括導致問題的代碼行,您可以發佈整個錯誤日誌嗎? – MikeIsrael 2012-04-09 13:31:26
好的...我添加了整個錯誤日誌(紅色線條) – Desenfoque 2012-04-09 13:36:23
仍然沒有看到任何對你的代碼的引用,幾乎總是有一個,也許是更多的紅色logcat? – MikeIsrael 2012-04-09 13:38:49