2017-04-22 7 views
0

Ich versuche programmgesteuert eine Radiogruppe zu meiner Android-Anwendung mit einer benutzerdefinierten Radiogruppe (von https://github.com/Kaopiz/android-segmented-control) hinzufügen.So fügen Sie benutzerdefinierte Radiogruppe programmgesteuert hinzu

kann ich die Gruppe mit

SegmentedGroup rg = new SegmentedGroup(this) 

erstellen, aber wenn ich versuche, Attribute hinzufügen mit

SegmentedGroup rg = new SegmentedGroup (this, R.attr.myCustomStyle) 

ich die folgende Fehlermeldung erhalten „int kann nicht in AttributeSet umgewandelt werden“.

Nach meinem Verständnis sollte dieses Objekt eine Attributmenge akzeptieren ... was bekomme ich nicht? Danke im Voraus!

Antwort

0

Der Konstruktor mit AttributeSet wird intern verwendet, wenn eine Ansicht aus XML aufgebläht wird.
Sie können eine benutzerdefinierte Ansicht in XML verwenden, wie jede Einbau-Ansicht durch seine volle Name:

<info.hoang8f.android.segmented.SegmentedGroup 
    android:id="@+id/custom_radio_group" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 
</info.hoang8f.android.segmented.SegmentedGroup> 

Wenn Sie die Ansicht manuell durch einen Konstruktor aufrufen erstellen, sollten Sie die eine, die nur dauert Kontext und dann manipulieren Sie das Objekt, wie Sie es wünschen. Es verfügt über verschiedene Getter- und Setter-Methoden, mit denen Sie die gleichen Attribute wie in XML festlegen können.

+0

Ich bin in der Lage, die segmentierte Gruppe mit solchen Setter wie rg.setPadding (50,50,10,10) zu ändern; ... aber leider hat die benutzerdefinierte SegmentedGroup keinen Setter für die Rahmenbreite ... deshalb versuche ich es über xml einzustellen. Entschuldigung, wenn ich etwas Grundlegendes verpasse, meistens an die iOS-Entwicklung gewöhnt –

Verwandte Themen