Note that there are some explanatory texts on larger screens.

plurals
  1. POReturning values from a custom dialog view
    primarykey
    data
    text
    <p>I'm trying to make a custom dialog for my android application. I get null pointer exceptions when I attempt to access the fields from the 'ok' button method. It seems like my fields fade from existence as soon as the onclick listener fires. Is there a better way to do this?</p> <pre><code>addchars.xml &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/scrollBox"&gt; &lt;RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/addChars"&gt; &lt;AutoCompleteTextView android:layout_height="wrap_content" android:id="@+id/inCharName" android:hint="@string/txtCharacterNameBox" android:layout_below="@+id/textView1" android:layout_centerHorizontal="true" android:layout_width="fill_parent"&gt; &lt;requestFocus&gt;&lt;/requestFocus&gt; &lt;/AutoCompleteTextView&gt; &lt;TextView android:id="@+id/textView2" android:layout_height="wrap_content" android:gravity="center" android:layout_width="wrap_content" android:text="@string/txtHP" android:layout_below="@+id/inCharName" android:layout_alignParentLeft="true" android:layout_marginLeft="22dp"&gt;&lt;/TextView&gt; &lt;TextView android:id="@+id/textView3" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="@string/txtTempHP" android:layout_below="@+id/inCharName" android:layout_alignParentRight="true" android:layout_marginRight="57dp"&gt;&lt;/TextView&gt; &lt;EditText android:id="@+id/inHP" android:digits="-0123456789" android:minEms="3" android:gravity="center" android:layout_height="wrap_content" android:inputType="phone" android:maxLength="3" android:layout_width="wrap_content" android:layout_below="@+id/textView2" android:layout_alignLeft="@+id/textView2"&gt; &lt;/EditText&gt; &lt;EditText android:id="@+id/inTempHP" android:digits="0123456789" android:minEms="3" android:layout_height="wrap_content" android:inputType="phone" android:maxLength="3" android:layout_width="wrap_content" android:layout_alignBaseline="@+id/inHP" android:layout_alignBottom="@+id/inHP" android:layout_alignLeft="@+id/textView3"&gt;&lt;/EditText&gt; &lt;TextView android:id="@+id/TextView01" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_below="@+id/inHP" android:layout_alignLeft="@+id/inHP" android:text="@string/txtInitRoll"&gt;&lt;/TextView&gt; &lt;TextView android:id="@+id/TextView02" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_below="@+id/inTempHP" android:layout_alignLeft="@+id/inTempHP" android:text="@string/txtInitBonus"&gt;&lt;/TextView&gt; &lt;EditText android:digits="0123456789" android:minEms="3" android:layout_height="wrap_content" android:gravity="center" android:inputType="phone" android:maxLength="2" android:layout_width="wrap_content" android:layout_below="@+id/TextView01" android:layout_alignLeft="@+id/TextView01" android:id="@+id/inInitRoll"&gt;&lt;/EditText&gt; &lt;EditText android:digits="0123456789" android:minEms="3" android:layout_height="wrap_content" android:gravity="center" android:inputType="phone" android:maxLength="2" android:layout_width="wrap_content" android:layout_below="@+id/TextView02" android:layout_alignLeft="@+id/TextView02" android:id="@+id/inInitBonus"&gt;&lt;/EditText&gt; &lt;TextView android:id="@+id/TextView03" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="@string/txtAC" android:layout_below="@+id/inInitRoll" android:layout_alignRight="@+id/textView2"&gt;&lt;/TextView&gt; &lt;EditText android:id="@+id/inAC" android:digits="0123456789" android:gravity="center" android:minEms="3" android:layout_height="wrap_content" android:inputType="phone" android:maxLength="2" android:layout_width="wrap_content" android:layout_below="@+id/TextView03" android:layout_alignLeft="@+id/TextView03"&gt;&lt;/EditText&gt; &lt;TextView android:id="@+id/TextView04" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_above="@+id/inAC" android:layout_alignLeft="@+id/inInitBonus" android:text="@string/txtFortitude"&gt;&lt;/TextView&gt; &lt;EditText android:digits="0123456789" android:gravity="center" android:minEms="3" android:layout_height="wrap_content" android:inputType="phone" android:maxLength="2" android:layout_width="wrap_content" android:layout_below="@+id/TextView04" android:layout_alignLeft="@+id/TextView04" android:id="@+id/inFort"&gt;&lt;/EditText&gt; &lt;TextView android:id="@+id/TextView06" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_below="@+id/inFort" android:layout_alignLeft="@+id/inFort" android:text="@string/txtWill"&gt;&lt;/TextView&gt; &lt;TextView android:id="@+id/TextView05" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_below="@+id/inAC" android:layout_alignLeft="@+id/inAC" android:text="@string/txtRef"&gt;&lt;/TextView&gt; &lt;EditText android:digits="0123456789" android:gravity="center" android:minEms="3" android:layout_height="wrap_content" android:inputType="phone" android:maxLength="2" android:layout_width="wrap_content" android:layout_below="@+id/TextView05" android:layout_alignLeft="@+id/inInitRoll" android:id="@+id/inReflex"&gt;&lt;/EditText&gt; &lt;EditText android:id="@+id/inWill" android:digits="0123456789" android:gravity="center" android:minEms="3" android:layout_height="wrap_content" android:inputType="phone" android:maxLength="2" android:layout_width="wrap_content" android:layout_above="@+id/chkRoll" android:layout_alignLeft="@+id/TextView06"&gt;&lt;/EditText&gt; &lt;CheckBox android:text="@string/txtRollBox" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/chkRoll" android:layout_below="@+id/inReflex" android:layout_alignLeft="@+id/TextView05" android:layout_alignParentRight="true"&gt;&lt;/CheckBox&gt; &lt;/RelativeLayout&gt; &lt;/ScrollView&gt; </code></pre> <p>And this is my alertdialog:</p> <pre><code>addBtn.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { //this block is to prep the layout for the alert dialog. LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); final View addView = inflater.inflate(R.layout.addchars, (ViewGroup) findViewById(R.id.scrollBox)); //taking this part out to try a better way. new AlertDialog.Builder(initiative.this) .setTitle("Add a Character") .setView(addView) .setPositiveButton("Ok", new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int whichButton) { //ui controls AutoCompleteTextView characterName = (AutoCompleteTextView) findViewById(R.id.inCharName); EditText hp = (EditText) findViewById(R.id.inHP); EditText tempHp = (EditText) findViewById(R.id.inTempHP); EditText initRoll = (EditText) findViewById(R.id.inInitRoll); EditText initBonus = (EditText) findViewById(R.id.inInitBonus); EditText ac = (EditText) findViewById(R.id.inAC); EditText fort = (EditText) findViewById(R.id.inFort); EditText reflex = (EditText) findViewById(R.id.inReflex); EditText will = (EditText) findViewById(R.id.inWill); CheckBox rollInit = (CheckBox) findViewById(R.id.chkRoll); //variables for various checks entriesOk=false; needToRoll=false; if(characterName.getText().length() &gt; 0) { holdCharacterName = characterName.getText().toString(); if(hp.getText().length() &gt; 0) { holdHp = hp.getText().toString(); if(initBonus.getText().length() &gt; 0) { holdInitBonus = initBonus.getText().toString(); if(ac.getText().length() &gt; 0) { holdAc = ac.getText().toString(); if(fort.getText().length() &gt; 0) { holdFort = fort.getText().toString(); if(reflex.getText().length() &gt; 0) { holdReflex = reflex.getText().toString(); if(will.getText().length() &gt; 0) { holdWill = will.getText().toString(); if(tempHp.getText().length() == 0) { holdTempHp = "0"; tempHp.setText("0"); } else { holdTempHp = tempHp.getText().toString(); } if(rollInit.isChecked()) { entriesOk = true; needToRoll = true; } else { if(initRoll.getText().length() &gt; 0) { holdInitRoll = initRoll.getText().toString(); entriesOk = true; } } } } } } } } } btnLogic(); } }).setNegativeButton("Cancel", new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int whichButton) { //do nothing } }).show(); </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload