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.

  • Laden Sie Benutzer mit AppInviteDialog ein
  • Vollbild in anpassen Thema
  • MediaStore.EXTRA_OUTPUT macht Daten null, andere Möglichkeit, Fotos zu speichern?
  • Verwenden des gleichen Debug-Keystores auf mehreren Computern
  • Ist WebRTC auf Android WebView? Wann?
  • Android Data Binding und Kotlin
  • Verhindern, dass ViewPager die Off-Screen-Ansichten zerstört
  • Vermeiden Sie doppelte Aktivitäten
  • Schließen eines benutzerdefinierten Alert-Dialogs auf der Schaltfläche klicken
  • "Hardware Section" fehlt unter Android Virtual Device Manager
  • Android bekommt das Rechteck einer Ansicht
  • Crashlytics android studio gradle bauen gescheitert
  • 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.