Erstellen Sie in Android verschiedene anklickbare Ansichten für ein Listenelement

In meiner Anwendung habe ich eine ListView. Jedes Element der Listenansicht enthält einen anklickbaren Hauptteil (Bild und Text) und 3 weitere anklickbare Textansichten.

Wenn ich auf das Element klicke, wird die Karte des jeweiligen Bereichs angezeigt, der auf dem Element angezeigt wird. Dies funktioniert einwandfrei, da ich in meiner Aktivität onItemClick in der Listenansicht verwende.

Aber wenn ich das onClick auf den 3 anderen TextViews implementieren möchte, die im Bild rot markiert sind, muss ich das onClick in der getView-Methode der Adapterklasse implementieren.

Hier kommt das Problem:

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

    View vi = convertView;
    ViewHolder holder = new ViewHolder();
    p = values.get(position);
    String date = new java.text.SimpleDateFormat("dd/MM/yy")
            .format(new java.util.Date(p.timeStamp));
    if (vi == null) {

            vi = inflater.inflate(R.layout.feed_items, null);
            holder.text = (TextView) vi.findViewById(R.id.label);
            holder.image = (ImageView) vi.findViewById(R.id.logo);
            holder.thankLabel = (TextView) vi.findViewById(R.id.thankLabel);
            holder.iwantLabel = (TextView) vi.findViewById(R.id.iWantLabel);
            holder.detailsLabel = (TextView) vi
                    .findViewById(R.id.detailsLabel);

                    holder.thankLabel
                    .setOnClickListener(new View.OnClickListener() {

                        public void onClick(View arg0) {

                        }
                    });
            holder.iwantLabel
                    .setOnClickListener(new View.OnClickListener() {

                        public void onClick(View arg0) {

                            Intent intent = new Intent(activity,
                                    IWantActivity.class);
                            intent.putExtra("productDetails", p.productName
                                    + "^" + p.reportedPrice);
                            activity.startActivity(intent);
                        }
                    });
            holder.detailsLabel
                    .setOnClickListener(new View.OnClickListener() {

                        public void onClick(View arg0) {

                        }
                    });
        }
        vi.setTag(holder);
    } else {

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

Wenn ich möchte, dass die Referenz des Elements angeklickt wird, kann ich in meiner Aktivität den Positionsparameter verwenden, aber im Fall von getView gibt der Parameter Position das neu erstellte Element an, aber nicht die iWant, auf die ich geklickt habe. wie löst man das ??

Antworten auf die Frage(1)

Ihre Antwort auf die Frage