android IndexOutOfBoundsException在GridView上单击

android IndexOutOfBoundsException在GridView上单击,android,gridview,Android,Gridview,我在资产文件夹中有list_id_emp.xml: <employees> <emp id="01"> <name>jame</name> <department>Development</department> </emp> <emp id="02"> <name>natalie</name> <department>Testing

我在资产文件夹中有list_id_emp.xml:

<employees>
<emp id="01">
    <name>jame</name>
    <department>Development</department>
</emp>
<emp id="02">
    <name>natalie</name>
    <department>Testing</department>
</emp>
<emp id="03">
    <name>phil</name>
    <department>Testing</department>
</emp>
<employees_detail>
<emp_detail id_detail="01">
    <name>jame</name>
    <age>30</age>
    <gender>male</gender>
    <email>jame@gmail.com</email>
</emp_detail>
<emp_detail id_detail="02">
    <name>natalie</name>
    <age>27</age>
    <gender>female</gender>
    <email>natalie@gmail.com</email>
</emp_detail>
<emp_detail id_detail="03">
    <name>phil</name>
    <age>40</age>
    <gender>male</gender>
    <email>phil@gmail.com</email>
</emp_detail>
这是BinderDataIdEmp:

public class BinderDataIdEmp extends BaseAdapter {

static final String KEY_ID = "id";
static final String KEY_NAME = "name";
static final String KEY_DEPARTMENT = "department";
LayoutInflater inflater;
List<HashMap<String,String>> empHashmap;
ViewHolder holder;

public BinderDataIdEmp(Activity act, List<HashMap<String,String>> map) {

    this.empHashmap = map;

    inflater = (LayoutInflater) act
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}

public int getCount() {
    // TODO Auto-generated method stub
    return empHashmap.size();
}

public Object getItem(int arg0) {
    // TODO Auto-generated method stub
    return null;
}

public long getItemId(int position) {
    // TODO Auto-generated method stub
    return 0;
}

public View getView(int position, View convertView, ViewGroup parent) {

    View vi=convertView;
    if(convertView==null){

        vi = inflater.inflate(R.layout.list_id, null);
        holder = new ViewHolder();

        holder.tv_id = (TextView)vi.findViewById(R.id.tv8Id);
        holder.tv_name = (TextView)vi.findViewById(R.id.tv8Name);
        holder.tv_department = (TextView)vi.findViewById(R.id.tv8Department);

        vi.setTag(holder);
    }
    else{

        holder = (ViewHolder)vi.getTag();
    }

    holder.tv_id.setText(empHashmap.get(position).get(KEY_ID));
    holder.tv_name.setText(empHashmap.get(position).get(KEY_NAME));
    holder.tv_department.setText(empHashmap.get(position).get(KEY_DEPARTMENT));

    return vi;
}

static class ViewHolder{
    TextView tv_id, tv_name, tv_department;
}
public类BinderDataIdEmp扩展BaseAdapter{
静态最终字符串键\u ID=“ID”;
静态最终字符串键\u NAME=“NAME”;
静态最终字符串键\u DEPARTMENT=“DEPARTMENT”;
充气机;
列表地图;
视窗座;
公共BinderDataIdEmp(活动法案,列表地图){
this.emphasishmap=map;
充气机=(充气机)法
.getSystemService(上下文布局\充气机\服务);
}
public int getCount(){
//TODO自动生成的方法存根
返回empHashmap.size();
}
公共对象getItem(int arg0){
//TODO自动生成的方法存根
返回null;
}
公共长getItemId(int位置){
//TODO自动生成的方法存根
返回0;
}
公共视图getView(int位置、视图转换视图、视图组父视图){
视图vi=转换视图;
if(convertView==null){
vi=充气机充气(R.layout.list_id,空);
holder=新的ViewHolder();
holder.tv_id=(TextView)vi.findviewbyd(R.id.tv8Id);
holder.tv_name=(TextView)vi.findviewbyd(R.id.tv8Name);
holder.tv_department=(TextView)vi.findViewById(R.id.tv8 department);
vi.setTag(支架);
}
否则{
holder=(ViewHolder)vi.getTag();
}
holder.tv_id.setText(emphasishmap.get(position.get(KEY_id));
holder.tv_name.setText(emphasishmap.get(position.get(KEY_name));
holder.tv_department.setText(emphasishmap.get(position.get(KEY_department));
返回vi;
}
静态类视窗夹{
text查看电视id、电视名称、电视部门;
}

}

因为数组中只有一个条目。请显示整个错误日志,以便我可以向您显示错误的确切位置eccor。问题可能在BinderDataIdEmp或解析器中。只有stacktrace可以帮助您确定问题的确切位置。像Jaydeep说的那样粘贴整个stacktrace或错误日志you@Jaydeep帕特尔和史蒂文·佐伦克:在我的问题中,我正在更新logcat和BinderDataIdEmp。java的71行是什么?@1234ABC因为数组中只有一个条目。请显示整个错误日志,以便我可以向您显示错误的确切位置eccor。问题可能在BinderDataIdEmp或解析器中。只有stacktrace可以帮助您确定问题的确切位置。像Jaydeep说的那样粘贴整个stacktrace或错误日志you@Jaydeep帕特尔和史蒂文·佐伦克:在我的问题中,我正在更新logcat和BinderDataIdEmp。java的71行是什么?@1234abcd
07-18 11:04:24.319 10783-10783/noname.test3 W/System.err: java.lang.IndexOutOfBoundsException: Invalid index 1, size is 1
07-18 11:04:24.319 10783-10783/noname.test3 W/System.err:     at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251)
07-18 11:04:24.319 10783-10783/noname.test3 W/System.err:     at java.util.ArrayList.get(ArrayList.java:304)
07-18 11:04:24.323 10783-10783/noname.test3 W/System.err:     at noname.test3.IdEmp$1.onItemClick(IdEmp.java:71)
07-18 11:04:24.323 10783-10783/noname.test3 W/System.err:     at android.widget.AdapterView.performItemClick(AdapterView.java:298)
07-18 11:04:24.323 10783-10783/noname.test3 W/System.err:     at android.widget.AbsListView.performItemClick(AbsListView.java:1086)
07-18 11:04:24.323 10783-10783/noname.test3 W/System.err:     at android.widget.AbsListView$PerformClick.run(AbsListView.java:2855)
07-18 11:04:24.323 10783-10783/noname.test3 W/System.err:     at android.widget.AbsListView$1.run(AbsListView.java:3529)
07-18 11:04:24.323 10783-10783/noname.test3 W/System.err:     at android.os.Handler.handleCallback(Handler.java:615)
07-18 11:04:24.327 10783-10783/noname.test3 W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:92)
07-18 11:04:24.327 10783-10783/noname.test3 W/System.err:     at android.os.Looper.loop(Looper.java:137)
07-18 11:04:24.335 10783-10783/noname.test3 W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:4745)
07-18 11:04:24.335 10783-10783/noname.test3 W/System.err:     at java.lang.reflect.Method.invokeNative(Native Method)
07-18 11:04:24.335 10783-10783/noname.test3 W/System.err:     at java.lang.reflect.Method.invoke(Method.java:511)
07-18 11:04:24.335 10783-10783/noname.test3 W/System.err:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
07-18 11:04:24.339 10783-10783/noname.test3 W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
07-18 11:04:24.339 10783-10783/noname.test3 W/System.err:     at dalvik.system.NativeStart.main(Native Method)
07-18 11:04:26.507 10783-10787/noname.test3 D/dalvikvm: GC_CONCURRENT freed 246K, 4% free 8309K/8647K, paused 1ms+1ms, total 11ms
07-18 11:04:26.827 10783-10783/noname.test3 W/EGL_genymotion: eglSurfaceAttrib not implemented
07-18 11:04:31.023 10783-10783/noname.test3 W/EGL_genymotion: eglSurfaceAttrib not implemented
07-18 11:04:47.403 10783-10783/noname.test3 W/System.err: java.lang.IndexOutOfBoundsException: Invalid index 1, size is 1
07-18 11:04:47.403 10783-10783/noname.test3 W/System.err:     at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251)
07-18 11:04:47.403 10783-10783/noname.test3 W/System.err:     at java.util.ArrayList.get(ArrayList.java:304)
07-18 11:04:47.403 10783-10783/noname.test3 W/System.err:     at noname.test3.IdEmp$1.onItemClick(IdEmp.java:71)
07-18 11:04:47.403 10783-10783/noname.test3 W/System.err:     at android.widget.AdapterView.performItemClick(AdapterView.java:298)
07-18 11:04:47.403 10783-10783/noname.test3 W/System.err:     at android.widget.AbsListView.performItemClick(AbsListView.java:1086)
07-18 11:04:47.403 10783-10783/noname.test3 W/System.err:     at android.widget.AbsListView$PerformClick.run(AbsListView.java:2855)
07-18 11:04:47.403 10783-10783/noname.test3 W/System.err:     at android.widget.AbsListView$1.run(AbsListView.java:3529)
07-18 11:04:47.403 10783-10783/noname.test3 W/System.err:     at android.os.Handler.handleCallback(Handler.java:615)
07-18 11:04:47.403 10783-10783/noname.test3 W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:92)
07-18 11:04:47.403 10783-10783/noname.test3 W/System.err:     at android.os.Looper.loop(Looper.java:137)
07-18 11:04:47.403 10783-10783/noname.test3 W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:4745)
07-18 11:04:47.403 10783-10783/noname.test3 W/System.err:     at java.lang.reflect.Method.invokeNative(Native Method)
07-18 11:04:47.403 10783-10783/noname.test3 W/System.err:     at java.lang.reflect.Method.invoke(Method.java:511)
07-18 11:04:47.403 10783-10783/noname.test3 W/System.err:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
07-18 11:04:47.403 10783-10783/noname.test3 W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
07-18 11:04:47.403 10783-10783/noname.test3 W/System.err:     at dalvik.system.NativeStart.main(Native Method)
public class BinderDataIdEmp extends BaseAdapter {

static final String KEY_ID = "id";
static final String KEY_NAME = "name";
static final String KEY_DEPARTMENT = "department";
LayoutInflater inflater;
List<HashMap<String,String>> empHashmap;
ViewHolder holder;

public BinderDataIdEmp(Activity act, List<HashMap<String,String>> map) {

    this.empHashmap = map;

    inflater = (LayoutInflater) act
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}

public int getCount() {
    // TODO Auto-generated method stub
    return empHashmap.size();
}

public Object getItem(int arg0) {
    // TODO Auto-generated method stub
    return null;
}

public long getItemId(int position) {
    // TODO Auto-generated method stub
    return 0;
}

public View getView(int position, View convertView, ViewGroup parent) {

    View vi=convertView;
    if(convertView==null){

        vi = inflater.inflate(R.layout.list_id, null);
        holder = new ViewHolder();

        holder.tv_id = (TextView)vi.findViewById(R.id.tv8Id);
        holder.tv_name = (TextView)vi.findViewById(R.id.tv8Name);
        holder.tv_department = (TextView)vi.findViewById(R.id.tv8Department);

        vi.setTag(holder);
    }
    else{

        holder = (ViewHolder)vi.getTag();
    }

    holder.tv_id.setText(empHashmap.get(position).get(KEY_ID));
    holder.tv_name.setText(empHashmap.get(position).get(KEY_NAME));
    holder.tv_department.setText(empHashmap.get(position).get(KEY_DEPARTMENT));

    return vi;
}

static class ViewHolder{
    TextView tv_id, tv_name, tv_department;
}