- Forum-Beiträge: 63
14.04.2014, 18:55:58 via Website
14.04.2014 18:55:58 via Website
Hallo zusammen,
ich habe ein Problem mit dem Zugriff auf Activity-Attribute aus einer Klasse heraus. (Zugegeben: Mit der Objektorientierung tue ich mich etwas schwer...)
Ich habe eine Klasse CustomEditText geschrieben, in der ich die EditText View überschreibe. Und zwar deshalb, weil ich per :
@Override
public boolean dispatchKeyEventPreIme(KeyEvent event){...}
den Back-Button des virtual keyboards ansteuern will. Das klappt auch prima.
Nun möchte ich aber in genau dieser Fkt auf Attribute der HauptActivity zugreifen. Ich habe dort eine Fkt, in der ich einen Button auf .setEnabled (false) setze:
hearButton.setEnabled(false);
Aber das wird in der Klasse CustomEditText mit einer NullPointerException bestraft. Die Klasse CustomEditText sieht so aus:
public class CustomEditText extends EditText{
MainActivity mainactivity;
//MainActivity mainactivity = new MainActivity();
public CustomEditText(Context context)
{
super(context);
init();
}
public CustomEditText(Context context, AttributeSet attrs)
{
super(context, attrs);
init();
}
public CustomEditText(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
init();
}
private void init()
{
}
@Override
public boolean dispatchKeyEventPreIme(KeyEvent event){
if (KeyEvent.KEYCODE_BACK == event.getKeyCode()){
if (KeyEvent.ACTION_UP == event.getAction()){
//NullPointerException
mainactivity.fkt_in_mainactivity();
}
}
return super.dispatchKeyEventPreIme(event);
}
}
Beide Arten der Objektdeklarierung scheitern:
MainActivity mainactivity; --> NullPointerException in der Klasse CustomEditText
MainActivity mainactivity = new MainActivity(); --> NullPointerException in der Klasse MainActivity
Wie kann ich von dieser Klasse aus auf die Attribute von MainActivity zugreifen?