How to get editText1 in DialogFragment using view from xml-resourcefile

How do I get editText1 in this dialog box? It exists in vraag_banen.xml, but getView () is NULL.

The dialog shows minor as well as compilation errors, however I cannot figure out how to write an event handler for PositiveButton using a custom view from the xml resource file.

package mypackage;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;

public class VraagBanenDialogFragment extends DialogFragment {

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        // Get the layout inflater
        LayoutInflater inflater = getActivity().getLayoutInflater();

        // Inflate and set the layout for the dialog
        // Pass null as the parent view because its going in the dialog layout
        builder.setView(inflater.inflate(R.layout.vraag_banen, null))
        // Add action buttons
               .setPositiveButton(R.string.dialog_ok, new DialogInterface.OnClickListener() {
                   @Override
                   public void onClick(DialogInterface dialog, int id) {

                       Activity pa = getActivity().getParent(); //-> TabsMenu
                       Context bc = getActivity().getBaseContext(); //-> ContextImpl
                       View vi = getView(); //-> null
                       Class<? extends OnClickListener> cl = this.getClass(); //-> Class (nl.computerhuys.tabnavui.VraagBanenDialogFragment$1)
                       String acn = getActivity().getClass().getName(); //-> nl.computerhuys.tabnavui.Spel
                       String cn = getClass().getName(); //-> nl.computerhuys.tabnavui.VraagBanenDialogFragment$1
                       OnClickListener t = this; //-> VraagBanenDialogFragment$1

                       EditText editText1 = (EditText) getView().findViewById(R.id.editText1); 
                       EditText editText2 = (EditText) getView().findViewById(R.id.editText2);
                       int baan1 = Integer.valueOf(editText1.getText().toString());
                       int baan2 = Integer.valueOf(editText2.getText().toString());
                       InitSpel.addBaanNummer(baan1);
                       InitSpel.addBaanNummer(baan2);

                   }
               })
               .setNegativeButton(R.string.dialog_cancel, new DialogInterface.OnClickListener() {
                   public void onClick(DialogInterface dialog, int id) {
                       VraagBanenDialogFragment.this.getDialog().cancel();
                   }
               });      
        return builder.create();
    }

      

+3


source to share


1 answer


found a way: name the anonymous view:

View v = inflater.inflate(R.layout.vraag_banen, null) 

      

and then use v to refer to the view instead of getView ():



EditText editText1 = (EditText) v.findViewById(R.id.editText1).

      

Etc. It works.

+11


source







All Articles