2016-06-24 5 views
4

Ich habe den folgenden Code versucht und bekam einen Fehler, weil kein solcher Konstruktor definiert wurde.Eine Ansicht programmgesteuert aus einer bereits vorhandenen Ansicht duplizieren.

View v = new View(findViewById(R.id.divider));

Gibt es eine einfache Möglichkeit, einen Blick in eine andere zu kopieren?

+0

hoffen, dass dies Ihr Problem lösen http://stackoverflow.com/questions/4159211/how- do-i-clone-a-view http://stackoverflow.com/questions/14798826/duplicate-views-on-android-during-run-time – Adeel

+0

Mögliches Duplikat von [Wie erstellt Clone-Duplicate View?] (http : //stackoverflow.com/questions/29744039/how-to-create-clone-duplicate-view) –

Antwort

10

Anscheinend kann man nicht Ansichten klonen, wie diese Antworten angegeben:

How do I clone a View?

How to create Clone-Duplicate View?

Wenn Sie den ersten Blick von XML die Art und Weise scheint zu gehen, aufgeblasen von XML die zweite Ansicht Aufpumpen werden , auch.

Um Ihre Ansicht von XML aufzublasen, legen Sie sie in eine zusätzliche Layoutdatei, z. "Textview.xml"

<?xml version="1.0" encoding="utf-8"?> 
<TextView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Hello World!" /> 

Dann aufblasen es von XML in Ihre onCreate():

View view = LayoutInflater.from(this).inflate(R.layout.textview, null); 
myLayout.addView(view);