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: leere Ansicht auf eine Listenansicht setzen
  • Wie man das Gehen mit Android-Beschleunigungssensor erkennt
  • Android imageview.setBackgroundResource () funktioniert nicht
  • Fehler beim Importieren eines neuen Gradle-Projekts im Android-Studio
  • Ändern der In-Call-Sprachwiedergabe im Android-benutzerdefinierten ROM
  • Kann man cardview für listview item und wie verwenden
  • Wie kann ich einen Android-Thread komplett töten?
  • SSL Proxy / Charles und Android Ärger
  • Android ClassCastException mit leerem Typ
  • Ändere remoteView ImageView Hintergrund
  • In android, Stream Kamera Vorschau auf eine Ansicht
  • GetRunningTasks funktioniert nicht in Android L
  • 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.