Methode lässt sich nicht aufrufen

  • 3 Antworten
  • Letztes Antwortdatum
Rastaman

Rastaman

Stamm-User
148
Hallo,

Ich möchte die Methode checkButtonAdd aufrufen um nach getaner Validierung meinen Button zu aktivieren. Weiß jemand wo der Fehler ist?
Code:
    public class AddDataFragment extends Fragment {
        DbHelper mydb;

        Button buttonadd;
        Button buttondelete;

        private EditText inputLabel;

        //Validator boolean
        public boolean labelOk;

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
            View view = inflater.inflate(R.layout.fragment_add_data, container, false);

            final Context context = getContext();
            mydb = new DbHelper(context);

            [...]

            //Label
            inputLabel = (EditText) view.findViewById(R.id.editText_label);
            inputLabel.addTextChangedListener(new TextWatcher() {
                @Override
                public void beforeTextChanged(CharSequence s, int start, int count, int after) {}

                @Override
                public void onTextChanged(CharSequence s, int start, int before, int count) {}

                @Override
                public void afterTextChanged(Editable s) {
                    Pattern p = Pattern.compile("^[A-Z]{3}-[0-9]{4}$");
                    Matcher m = p.matcher(s);

                    labelOk = m.find();
                    Log.d("ButtonAdd?", String.valueOf(labelOk));
                }
                checkButtonAdd(); // <---------------
            });

             [...]
            
            return view;
        }

        public void checkButtonAdd(){
            if (labelOk){
                buttonadd.setEnabled(true);
            }else{
                buttonadd.setEnabled(false);
            }
        };
    }
 
Der Aufruf steht ausserhalb einer Methode
 
Hast du dich um eine }-Klammer vertan? Im Moment steht der checkButtonAdd()-Aufruf irgendwie in der Luft.

EDIT: zu langsam
 
Die Klammern passen alle. Evtl ist was beim kopieren hier ins Forum flöten gegangen.
Der Fehler war der falsche Kontext.

Code:
                AddDataFragment.this.checkButtonAdd();

damit hat es funktioniert.

@Jaiel Das kam natürlich noch dazu ;)
 

Ähnliche Themen

D
Antworten
5
Aufrufe
572
swa00
swa00
BerndFfm
Antworten
7
Aufrufe
1.222
swa00
swa00
Zurück
Oben Unten