Note that there are some explanatory texts on larger screens.

plurals
  1. POHandling RadioGroup and Button Events in Android
    text
    copied!<p>I am a beginner in Android and I am trying to create a simple Android app which has two Text boxes (EditText) to take two Numbers as Input. Then I am Creating Radio Group having four Radio Buttons (Add,Sub,Multiply,Divide). Then I am having a Button to get the results. I am getting an AlertBox saying "Unfortunately, SimpleApp has stopped working" the moment I click the Button. Kindly assist me. </p> <p>*<em>Here is my Java code *</em> </p> <pre><code>package com.example.simpleapp; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.RadioButton; import android.widget.TextView; public class MainActivity extends Activity implements OnClickListener { private EditText txt1; private EditText txt2; private String input1; private String input2; private Double Num1; private Double Num2; private String flag; private EditText TextResult; Double Result=0.0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initControls(); } private void initControls() { ((Button)findViewById(R.id.button1)).setOnClickListener(this); } public void onradioButtonClicked(View view) { boolean checked = ((RadioButton) view).isChecked(); switch(view.getId()) { case R.id.radio0: if(checked) flag = "add"; //Result = Num1+Num2; break; case R.id.radio1: if(checked) flag = "sub"; //Result = Num1-Num2; break; case R.id.radio2: if(checked) flag = "prod"; //Result = Num1*Num2; break; case R.id.radio3: if(checked) flag = "div"; //Result = Num1/Num2; break; } } @Override public void onClick(View v) { // TODO Auto-generated method stub TextResult = (EditText)findViewById(R.id.textView2); TextResult.setText("0"); txt1 = (EditText)findViewById(R.id.editText1); txt2 = (EditText)findViewById(R.id.editText2); input1 = txt1.getText().toString(); input2 = txt2.getText().toString(); Num1 = Double.parseDouble(input1); Num2 = Double.parseDouble(input2); if(flag == "add") Result = Num1+Num2; else if(flag == "sub") Result = Num1-Num2; else if(flag == "prod") Result = Num1*Num2; else Result = Num1/Num2; TextResult.setText(String.valueOf(Result)); } } </code></pre> <p><strong>Here is my Activity_Main.xml</strong></p> <pre><code> &lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" &gt; &lt;LinearLayout android:id="@+id/linearLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="102dp" android:layout_marginTop="66dp" android:orientation="vertical" &gt; &lt;/LinearLayout&gt; &lt;TableRow android:id="@+id/tableRow1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView1" android:layout_below="@+id/linearLayout1" android:layout_marginTop="34dp" &gt; &lt;/TableRow&gt; &lt;TableRow android:id="@+id/tableRow2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/tableRow1" android:layout_below="@+id/tableRow1" android:layout_marginLeft="14dp" &gt; &lt;/TableRow&gt; &lt;EditText android:id="@+id/editText2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/tableRow1" android:layout_alignTop="@+id/tableRow2" android:ems="10" android:hint="Enter Second Number" android:inputType="number" /&gt; &lt;EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/linearLayout1" android:layout_centerHorizontal="true" android:ems="10" android:hint="Enter First Number" android:inputType="number" /&gt; &lt;TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/editText1" android:layout_alignParentTop="true" android:layout_marginTop="14dp" android:text="Simple Calculator App" android:textAppearance="?android:attr/textAppearanceLarge" /&gt; &lt;TableRow android:id="@+id/tableRow3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/editText2" android:layout_below="@+id/editText2" android:layout_marginTop="36dp" &gt; &lt;/TableRow&gt; &lt;RadioGroup android:id="@+id/radioGroup1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView2" android:layout_below="@+id/editText2" &gt; &lt;RadioButton android:id="@+id/radio0" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:text="Add" android:onClick="onradioButtonClicked"/&gt; &lt;RadioButton android:id="@+id/radio1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Sub" android:onClick="onradioButtonClicked"/&gt; &lt;RadioButton android:id="@+id/radio2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Multiply" android:onClick="onradioButtonClicked"/&gt; &lt;RadioButton android:id="@+id/radio3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Divide" android:onClick="onradioButtonClicked"/&gt; &lt;/RadioGroup&gt; &lt;Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/linearLayout1" android:layout_below="@+id/radioGroup1" android:text="Check" /&gt; &lt;TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/button1" android:layout_centerHorizontal="true" android:layout_marginTop="18dp" android:text="" android:textAppearance="?android:attr/textAppearanceLarge" /&gt; &lt;/RelativeLayout&gt; </code></pre>
 

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