Closed shalommelamed closed 11 years ago
the problem was in this method:
@Override
public int getCountForHeader(int position)
{
int RetVal = 0;
try
{
boolean isSaleTemp = getItem(position).isTemporarySale;
if(isSaleTemp)
{
RetVal = App.salesByType.get(headers[0]).size();
}
else
{
RetVal = App.salesByType.get(headers[1]).size();
}
}
catch (Exception e) {}
return RetVal;
}
what I supposed to do is:
@Override
public int getCountForHeader(int position)
{
int RetVal = 0;
try
{
RetVal = App.salesByType.get(headers[position]).size()
}
catch (Exception e) {}
return RetVal;
}
Hey, I have a vector with three element. and two headers. the data is correct but the adapter call to getView with position 3 - position that does not exist.
thank's in advance to all who can help.
the exception i get is: 07-18 01:36:04.574: E/AndroidRuntime(27942): FATAL EXCEPTION: main 07-18 01:36:04.574: E/AndroidRuntime(27942): java.lang.ArrayIndexOutOfBoundsException: length=3; index=3 07-18 01:36:04.574: E/AndroidRuntime(27942): at java.util.Vector.arrayIndexOutOfBoundsException(Vector.java:907) 07-18 01:36:04.574: E/AndroidRuntime(27942): at java.util.Vector.elementAt(Vector.java:328) 07-18 01:36:04.574: E/AndroidRuntime(27942): at java.util.Vector.get(Vector.java:442) 07-18 01:36:04.574: E/AndroidRuntime(27942): at fragments.SalesStickyGVAdapter.getItem(SalesStickyGVAdapter.java:39) 07-18 01:36:04.574: E/AndroidRuntime(27942): at fragments.SalesStickyGVAdapter.getView(SalesStickyGVAdapter.java:52) 07-18 01:36:04.574: E/AndroidRuntime(27942): at com.tonicartos.widget.stickygridheaders.StickyGridHeadersBaseAdapterWrapper.getView(StickyGridHeadersBaseAdapterWrapper.java:179) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.widget.AbsListView.obtainView(AbsListView.java:2159) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.widget.GridView.makeAndAddView(GridView.java:1341) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.widget.GridView.makeRow(GridView.java:341) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.widget.GridView.fillDown(GridView.java:283) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.widget.GridView.fillFromTop(GridView.java:417) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.widget.GridView.layoutChildren(GridView.java:1229) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.widget.AbsListView.onLayout(AbsListView.java:1994) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.view.View.layout(View.java:14008) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.view.ViewGroup.layout(ViewGroup.java:4373) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.widget.FrameLayout.onLayout(FrameLayout.java:448) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.view.View.layout(View.java:14008) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.view.ViewGroup.layout(ViewGroup.java:4373) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.widget.FrameLayout.onLayout(FrameLayout.java:448) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.view.View.layout(View.java:14008) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.view.ViewGroup.layout(ViewGroup.java:4373) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.widget.FrameLayout.onLayout(FrameLayout.java:448) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.view.View.layout(View.java:14008) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.view.ViewGroup.layout(ViewGroup.java:4373) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:653) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.view.View.layout(View.java:14008) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.view.ViewGroup.layout(ViewGroup.java:4373) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.widget.FrameLayout.onLayout(FrameLayout.java:448) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.view.View.layout(View.java:14008) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.view.ViewGroup.layout(ViewGroup.java:4373) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1663) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1521) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.widget.LinearLayout.onLayout(LinearLayout.java:1434) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.view.View.layout(View.java:14008) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.view.ViewGroup.layout(ViewGroup.java:4373) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.widget.FrameLayout.onLayout(FrameLayout.java:448) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.view.View.layout(View.java:14008) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.view.ViewGroup.layout(ViewGroup.java:4373) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:1892) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1711) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:989) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4351) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.view.Choreographer.doCallbacks(Choreographer.java:562) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.view.Choreographer.doFrame(Choreographer.java:532) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.os.Handler.handleCallback(Handler.java:725) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.os.Handler.dispatchMessage(Handler.java:92) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.os.Looper.loop(Looper.java:137) 07-18 01:36:04.574: E/AndroidRuntime(27942): at android.app.ActivityThread.main(ActivityThread.java:5041) 07-18 01:36:04.574: E/AndroidRuntime(27942): at java.lang.reflect.Method.invokeNative(Native Method) 07-18 01:36:04.574: E/AndroidRuntime(27942): at java.lang.reflect.Method.invoke(Method.java:511) 07-18 01:36:04.574: E/AndroidRuntime(27942): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 07-18 01:36:04.574: E/AndroidRuntime(27942): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 07-18 01:36:04.574: E/AndroidRuntime(27942): at dalvik.system.NativeStart.main(Native Method)
my code in the adapter is:
package fragments;
import java.util.Vector; import robototext.RobotoTextView; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import com.out.App; import com.out.goout.R; import com.tonicartos.widget.stickygridheaders.StickyGridHeadersBaseAdapter;
import entitys.SaleObj;
public class SalesStickyGVAdapter extends BaseAdapter implements StickyGridHeadersBaseAdapter { private Context mContext; private Vector items;
private String [] headers;
}