Wie bekomme ich die ID der angeklickten Kinderansicht dynamisch zu einem LinearLayout hinzugefügt?

Ich füge eine Kindansicht zu einem linearen Layout hinzu. Das Kind sieht sich selbst Text- und Bildbetrachtungen in einem Relativelayout. Die Kinderansicht wird im LinearLayout dynamisch hinzugefügt, indem man auf eine Schaltfläche klickt. Im Moment kann ich die Kinderansicht hinzufügen, wie in diesem Bild gezeigt. Http://dl.dropbox.com/u/50249620/SC20120926-031356.png was ich tun muss, ist eindeutig zu identifizieren, welche Kinderansicht geklickt worden ist, um entsprechende Aktionen zu zeigen. Mein Code, wo ich die Kinderansicht hinzufüge.

addButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); customView1 = inflater.inflate(R.layout.people, null); peopleName = (TextView) customView1.findViewById(R.id.peopleName); peopleName.setText(autoComplete.getText()); customView1.setId(peopleInvitedRelativeLayout.getChildCount() + 1); params4 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); customView1.setLayoutParams(params4); peopleInvitedRelativeLayout.addView(customView1, params4); } }); 

Jede mögliche Hilfe oder Vorschläge würde geschätzt. Vielen Dank.

  • Android: Footer in einem ListView
  • Fragment-Design: Anpassung an mehrere Bildschirm-Layouts durch das Anzeigen / Ausblenden von Fragmenten innerhalb einer einzigen Aktivität?
  • Animation zu Beginn der Aktivität springt
  • Android studio 2.2 Layout-Editor aktualisieren Taste
  • Wie sich der Hintergrund bei der Anmeldung bei Instagram App ändert?
  • So installieren Sie die letzte Version des ADT Plug-Ins für Eclipse
  • Wie deaktiviere man das Klicken von WebView?
  • Android: Fokus auf TimePicker-Elemente
  • One Solution collect form web for “Wie bekomme ich die ID der angeklickten Kinderansicht dynamisch zu einem LinearLayout hinzugefügt?”

    Sie können ein benutzerdefiniertes Tag zu einer beliebigen Ansicht hinzufügen, indem Sie folgendes tun, wenn Sie die Ansicht erstellen

     view.setTag(Object o); 

    Dann später im onClickListener das Tag mit finden

     view.getTag() 

    setTag(Object o) akzeptiert jede Art von Objekt, sei es eine Zeichenfolge, eine int oder eine benutzerdefinierte Klasse

    BEARBEITEN

     addButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); customView1 = inflater.inflate(R.layout.people, null); peopleName = (TextView) customView1.findViewById(R.id.peopleName); peopleName.setText(autoComplete.getText()); customView1.setId(peopleInvitedRelativeLayout.getChildCount() + 1); params4 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); customView1.setLayoutParams(params4); peopleInvitedRelativeLayout.addView(customView1, params4); //add a tag to a view and add a clicklistener to the view customView1.setTag(someTag); customView1.setOnClickListener(myClickListner); } }); 

    Die clicklistener – eine Klassenvariable für sie erstellen

     OnClickListener myClickListener = new onClickListener(){ @Override public void onClick(View v) { if(v.getTag() == someTag){ //do stuff }else if(v.getTag() == otherTag){ //do something else } } 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.