Frage

Aufblasen der Ansicht im Layout, in der alle meine UI-Elemente im Layout sichtbar sein sollen. Ich versuche diese Zeilen, aber es funktioniert nicht. Ich kann mein Hintergrundbild, meine Schaltfläche und andere Bilder nicht sehen.

MyView view1= new MyView (this);

LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
 view1= (MyView) inflater.inflate(R.layout.main, null);

Bitte helfen Sie. Vielen Dank im Voraus.

War es hilfreich?

Lösung

Verwenden Sie für das, was Sie tun,

setContentView(R.layout.main);

Der Grund dafür, dass Sie Ihre Ansicht nach dem Aufblasen nicht erhalten, ist, dass Sie diese Ansicht irgendwo in die aktuelle Ansicht einfügen müssen.Derzeit ist Ihre aufgeblasene Ansicht verwaist.

Andere Tipps

das funktioniert normalerweise ...

LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
 View view1= inflater.inflate(R.layout.main, null);

oder

 LayoutInflater inflater = LayoutInflater.from(getApplicationContext);
View view1= inflater.inflate(R.layout.main, null);

und fügen Sie diese Ansicht dann der Inhaltsansicht hinzu.

Aktualisiert:

Angenommen, Sie müssen eine Linie in Ihrer main.xml zeichnen, möchte ich Ihnen diesen Vorschlag machen.Anstatt zur Laufzeit eine Linie zu zeichnen, indem Sie die View-Klasse erweitern, erstellen Sie eine View in XML wie folgt

<View android:layout_width = "fill_parent"
      android:layout_height = "2dp"  //assuming you want line of 2dp thickness
      android:background= "@android:color/black"/> // define your desired color here 

hoffe es hilft ..

Das hat endlich funktioniert.

getWindow().addContentView(view1,
                new ViewGroup.LayoutParams(
                         ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT));

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top