ImageButton beerben

N

NutCrisp

Neues Mitglied
0
Hey,

ich möchte mit einer Klasse, die nicht die Activity ist,I mageButton beerben. Allerdings hat ImageButton ja keinen Standardkonstruktor, sondern ich muss ein Context übergeben.
Aber wie kann ich das machen?
Muss ich wirklich beim Erstellen der Objekte das Context übergeben und dann an ImageButton weiterreichen?

Grüße
 
Zuletzt bearbeitet:
Code:
public class MyImageButton extends ImageButton {

    public MyImageButton(Context context) {
        super(context);
    }
}

Ohne einen Context funktioniert ein View nicht.
Ja, den musst du übergeben und weiterreichen.

regards
 
Danke habe ich mir schon gedacht.

Kann ich dann die Klasse MyImageButton auch in den Layout-Dateien benutzen, also z.B:
Code:
<!-- z.B. main.xml -->
<MyImageButton 
    android:id="@+id/MyId" 
    type="niceButton"
    ...
>
</MyImageButton>
wobei type ein Attribut der Klasse MyImageButton ist? Oder muss ich den Attributen in der Activity "nachträglich" Werte zuweisen?

Grüße
 
Eigene Attribute werden über eigene Namespaces definiert.

Im layout:
Code:
<LinearLayout
   ...
   xmlns:mib="http://meine.domain/android/meinschema"
>
<MyImageButton 
    android:id="@+id/MyId" 
    mib:type="niceButton"
    ...
>
</MyImageButton>
Und dann aus dem Attributeset wie folgt herausgezogen:
Code:
public MyImageButton {
   public final String SCHEMA = "http://meine.domain/android/meinschema";
   String type;
   public MyImageButton( Context context, AttributeSet attrs ) {
      super(content,attrs); // EDIT to ADD
      type = attrs.getAttributeValue(SCHEMA, "type", "default");
   }
Es steht dir natürlich frei, schöne getter und setter für deine Attribute zu machen.
 
Zuletzt bearbeitet:
Danke.

Mal sehen welche Variante ordentlicher ist.
 

Ähnliche Themen

J
Antworten
2
Aufrufe
1.115
JoEntwickler
J
D
Antworten
2
Aufrufe
864
DrLiightninG
D
C
Antworten
9
Aufrufe
1.051
coreytaylor211
C
Zurück
Oben Unten