mardi 4 août 2015

ListView first Item overlaid

My ListView displays in first Item something else as the rest of the ListView

The Problem is, that it replaces the first item instead of taking a own position.

Example how it has to be:

A (diferent to the others)

B

B

B

How it is:

A (B Overlaid by A)

B

B

As you can see, one B is missing because it is overlaid by A.

Here is the Code. I wrote my own CustomAdapter:

@Override
public int getCount() {
    if (taskItems.size() + 1 >= 0)
        return taskItems.size();
    return 0;
}

@Override
public Object getItem(int position) {
    return position;
}

@Override
public long getItemId(int position) {
    return position;
}

public static class ViewHolder {
    public TextView taskTitleTextView;
    public TextView taskObjectTextView;
    public TextView taskLocationTextView;
    public ImageView taskImageImageView;

}

public static class ViewHolderProjects {
    public TextView projectTitelTextView;
    public TextView projectInfoTextView;
    public TextView projectDeadline;
    public ImageView projectImageImageView;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View vi = convertView;
    ViewHolderProjects holderProjects;
    if (position == 0) {
        if (convertView == null) {
            vi = inflater.inflate(R.layout.list_item_projects, null);
            holderProjects = new ViewHolderProjects();

            holderProjects.projectTitelTextView = (TextView) vi.findViewById(R.id.projectTitle);
            holderProjects.projectInfoTextView = (TextView) vi.findViewById(R.id.projectInfo);
            holderProjects.projectImageImageView = (ImageView) vi.findViewById(R.id.projectImage);
            holderProjects.projectDeadline = (TextView) vi.findViewById(R.id.projectdeadline);

            vi.setTag(holderProjects);
        } else {
            holderProjects = (ViewHolderProjects) vi.getTag();
        }
        if (projectMap.size() <= 0) {
            holderProjects.projectInfoTextView.setText("Keine Infos");
            holderProjects.projectTitelTextView.setText("Kein Titel");
        } else {
            if (projectMap.get(position).containsKey("project_company_image")) {
                if (projectMap.get(position).get("project_company_image").getBytes().length == 0) {
                    holderProjects.projectTitelTextView.setText(jobMap.get(position).get("job_subject"));
                    holderProjects.projectDeadline.setText(jobMap.get(position).get("job_deadline"));
                    return vi;
                }
                Bitmap bm = Bitmap.createBitmap(base64EncodeDecode.decodeBase64(projectMap.get(position).get("project_company_image")));
                holderProjects.projectTitelTextView.setText(jobMap.get(position).get("job_subject"));
                holderProjects.projectDeadline.setText(jobMap.get(position).get("job_deadline"));
                holderProjects.projectImageImageView.setImageBitmap(bm);
            }
        }
    } else {

        ViewHolder holder;
        if (convertView == null) {
            vi = inflater.inflate(R.layout.list_item_tasks, null);

            holder = new ViewHolder();
            holder.taskTitleTextView = (TextView) vi.findViewById(R.id.taskTitle);
            holder.taskObjectTextView = (TextView) vi.findViewById(R.id.taskObject);
            holder.taskLocationTextView = (TextView) vi.findViewById(R.id.taskLocation);
            holder.taskImageImageView = (ImageView) vi.findViewById(R.id.taskImage);

            vi.setTag(holder);
        } else {
            holder = (ViewHolder) vi.getTag();
        }

        if (taskItems.size() <= 0) {
            holder.taskTitleTextView.setText("Kein Titel");
            holder.taskObjectTextView.setText("Kein Objekt");
            holder.taskLocationTextView.setText("Kein Standort");
        } else {
            if (taskItems.get(position).containsKey("object_image")) {
                if (taskItems.get(position).get("object_image").getBytes().length == 0) {
                    holder.taskTitleTextView.setText(taskItems.get(position).get("task_headline"));
                    holder.taskObjectTextView.setText(taskItems.get(position).get("object_name"));
                    holder.taskLocationTextView.setText(taskItems.get(position).get("object_location"));

                    return vi;
                }
            }
            Bitmap bm = Bitmap.createBitmap(base64EncodeDecode.decodeBase64(taskItems.get(position).get("object_image")));
            holder.taskTitleTextView.setText(taskItems.get(position).get("task_headline"));
            holder.taskObjectTextView.setText(taskItems.get(position).get("object_name"));
            holder.taskLocationTextView.setText(taskItems.get(position).get("object_location"));
            holder.taskImageImageView.setImageBitmap(bm);
        }
    }
    return vi;

}

Aucun commentaire:

Enregistrer un commentaire