3 Stimmen

Android und macht `this` zu einem Listener für eine seiner Schaltflächen

Ich habe eine benutzerdefinierte Ansicht MyView aufgeblasen von my_view.xml (mit einer entsprechenden Java-Klasse MyView.java ).

Ich überschreibe MyView(Context context, AttributeSet attrs) um Unteransichten mit Mitgliedern der Klasse zu verbinden.

Eine dieser Unteransichten ist eine Button und ich möchte, dass meine Ansicht auf einen Klick auf die Schaltfläche wartet, bevor sie dieses Ereignis an einen Delegaten weitergibt. Wenn ich jedoch deklariere

this.myButton.setOnClickListener(this);

im Konstruktor MyView(Context context, AttributeSet attrs) (wobei this ist eine Instanz von MyView ) Ich erhalte eine NullPointerException .

Wo ist ein geeigneter Ort in MyClass.java anrufen this.myButton.setOnClickListener(this); ?

%%

Bearbeiten. Etwas Code:

public MyView(Context ctx, AttributeSet attrs)
{
  super(context, attrs);
  this.myButton = (Button) this.findViewById(R.id.my_button);
  this.myButton.setOnClickListener(this); // Raises null pointer;'id' is correct.
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X