I am new to android development I am making a scorecalculator where I want to show a calculated output in a popup window. I have tried a lot of codes from yesterday and still the program doesn't work. Sometimes the activities even crash and don't open.
thats my java file
package com.msoftwares;
import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.PopupWindow;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import android.content.Context;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.PopupWindow;
import com.msoftwares.homepage.R;
public class scorecalculator extends AppCompatActivity {
private AlertDialog.Builder dialogBuilder;
private AlertDialog dialog;
private TextView scoreTextView;
String scoretext;
double score = 0;
final double S = 1;
final double A = 0.95;
final double B = 0.85;
final double C = 0.7;
final double D = 0.6;
final double nine = 1;
final double eight = 0.1;
final double seven = 0.95;
final double six = 0.85;
final double five = 0.82;
final double four = 0.7;
private Spinner starNo, aNo, bNo, cNo, asANo, asBNo, asCNo, asDNo, alStarNo, alANo, alBNo, alCNo, alDNo ,nineNo, eightNo, sevenNo, sixNo, fiveNo, fourNo ;
private Button btnSubmit, btnOk;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_scorecalculator);
String noStar = starNo.getSelectedItem().toString();
int stars = new Integer(noStar);
String noA = aNo.getSelectedItem().toString();
int as = new Integer(noA);
String noB = bNo.getSelectedItem().toString();
int bs = new Integer(noB);
String noC = cNo.getSelectedItem().toString();
int cs = new Integer(noC);
String noAsA = asANo.getSelectedItem().toString();
int asas = new Integer(noAsA);
String noAsB = asBNo.getSelectedItem().toString();
int asbs = new Integer(noAsB);
String noAsC = asCNo.getSelectedItem().toString();
int ascs = new Integer(noAsC);
String noAsD = asDNo.getSelectedItem().toString();
int asds = new Integer(noAsD);
String noAlStar = alStarNo.getSelectedItem().toString();
int alstars = new Integer(noAlStar);
String noAlA = alANo.getSelectedItem().toString();
int alas = new Integer(noAlA);
String noAB = alBNo.getSelectedItem().toString();
int albs = new Integer(noAB);
String noAlC = alCNo.getSelectedItem().toString();
int alcs = new Integer(noAlC);
String noAlD = alDNo.getSelectedItem().toString();
int alds = new Integer(noAlD);
String noNine = nineNo.getSelectedItem().toString();
int nines = new Integer(noNine);
String noEight = eightNo.getSelectedItem().toString();
int eights = new Integer(noEight);
String noSeven = sevenNo.getSelectedItem().toString();
int sevens = new Integer(noSeven);
String noSix = sixNo.getSelectedItem().toString();
int sixs = new Integer(noSix);
String noFive = fiveNo.getSelectedItem().toString();
int fives = new Integer(noFive);
String noFour = fourNo.getSelectedItem().toString();
int fours = new Integer(noFour);
score = ((stars * S) + (as * A) + (bs * B) + (cs * C) + (nines * nine) + (eights * eight) + (sevens * seven) + (sixs * six) + (fives * five) + (fours * four) + (asas * A) + (asbs * A) + (ascs * A) + (asds * A) + (alstars * S) + (alas * A) + (albs * B) + (alcs * C) + (alds * D)) / (stars + as + bs + cs + nines + eights + sevens + sixs + fives + fours + asas + asbs + ascs + asds + alstars + alas + albs + alcs + alds);
scoretext = ("Your score is : " + score + "%");
btnSubmit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
createScorePopup();
}
});
}
public void createScorePopup(){
dialogBuilder = new AlertDialog.Builder(this);
final View scorePopup = getLayoutInflater().inflate(R.layout.scorepopup, null);
TextView scoretext = (TextView) scorePopup.findViewById(R.id.text_view_score);
dialogBuilder.setView(scorePopup);
dialog = dialogBuilder.create();
dialog.show();
btnOk.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
dialog.dismiss();
}
});
}
}
Thats my activity XML file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.msoftwares.scorecalculator"
android:orientation="vertical"
android:padding="10dp"
android:background="#ffffff"
android:gravity="center"
android:id="@+id/sc">
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:stretchColumns="0,1">
<!--<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="O-LEVEL (Alphabatecal)"
android:textStyle="bold"
android:textAlignment="center"
android:gravity="center_horizontal"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="O-LEVEL (Numeric)"
android:textStyle="bold"
android:textAlignment="center"
android:gravity="center_horizontal" />
</TableRow>
<TableRow>
<TableLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:stretchColumns="0,1">
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="O-LEVEL (Alphabatecal)"
android:textStyle="bold"
android:textAlignment="center"
android:gravity="left"/>
</TableRow>
</TableLayout>
<TableLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:stretchColumns="0,1">
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="O-LEVEL (Alphabatecal)"
android:textStyle="bold"
android:textAlignment="center"
android:gravity="right"/>
</TableRow>
</TableLayout>
</TableRow>-->
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="O-LEVEL (Alphabatecal)"
android:textStyle="bold"
/>
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="A*"
android:textStyle="bold"
android:textAlignment="center"
android:gravity="center_horizontal" />
<Spinner
android:id="@+id/starNo"
android:layout_width="match_parent"
android:layout_height="37dp"
android:entries="@array/grades"
android:prompt="@string/grades_prompt" />
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="A"
android:textStyle="bold"
android:textAlignment="center"
android:gravity="center_horizontal" />
<Spinner
android:id="@+id/aNO"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/grades"
android:prompt="@string/grades_prompt" />
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="B"
android:textStyle="bold"
android:textAlignment="center"
android:gravity="center_horizontal" />
<Spinner
android:id="@+id/bNo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/grades"
android:prompt="@string/grades_prompt" />
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="C"
android:textStyle="bold"
android:textAlignment="center"
android:gravity="center_horizontal" />
<Spinner
android:id="@+id/cNo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/grades"
android:prompt="@string/grades_prompt" />
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="O-LEVEL (Numeric)"
android:textStyle="bold"
/>
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="9"
android:textStyle="bold"
android:textAlignment="center"
android:gravity="center_horizontal" />
<Spinner
android:id="@+id/nineNo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/grades"
android:prompt="@string/grades_prompt" />
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="8"
android:textStyle="bold"
android:textAlignment="center"
android:gravity="center_horizontal" />
<Spinner
android:id="@+id/eightNo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/grades"
android:prompt="@string/grades_prompt" />
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="7"
android:textStyle="bold"
android:textAlignment="center"
android:gravity="center_horizontal" />
<Spinner
android:id="@+id/sevenNo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/grades"
android:prompt="@string/grades_prompt" />
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="6"
android:textStyle="bold"
android:textAlignment="center"
android:gravity="center_horizontal" />
<Spinner
android:id="@+id/sixNo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/grades"
android:prompt="@string/grades_prompt" />
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="5"
android:textStyle="bold"
android:textAlignment="center"
android:gravity="center_horizontal" />
<Spinner
android:id="@+id/fiveNo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/grades"
android:prompt="@string/grades_prompt" />
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="4"
android:textStyle="bold"
android:textAlignment="center"
android:gravity="center_horizontal" />
<Spinner
android:id="@+id/fourNO"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/grades"
android:prompt="@string/grades_prompt" />
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="AS"
android:textStyle="bold"
/>
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="A"
android:textStyle="bold"
android:textAlignment="center"
android:gravity="center_horizontal" />
<Spinner
android:id="@+id/asANo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/grades"
android:prompt="@string/grades_prompt" />
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="B"
android:textStyle="bold"
android:textAlignment="center"
android:gravity="center_horizontal" />
<Spinner
android:id="@+id/asBNo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/grades"
android:prompt="@string/grades_prompt" />
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="C"
android:textStyle="bold"
android:textAlignment="center"
android:gravity="center_horizontal" />
<Spinner
android:id="@+id/asCNo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/grades"
android:prompt="@string/grades_prompt" />
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="D"
android:textStyle="bold"
android:textAlignment="center"
android:gravity="center_horizontal" />
<Spinner
android:id="@+id/asDNo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/grades"
android:prompt="@string/grades_prompt" />
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ALevels"
android:textStyle="bold"
/>
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="A*"
android:textStyle="bold"
android:textAlignment="center"
android:gravity="center_horizontal" />
<Spinner
android:id="@+id/alStarNO"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/grades"
android:prompt="@string/grades_prompt" />
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="A"
android:textStyle="bold"
android:textAlignment="center"
android:gravity="center_horizontal" />
<Spinner
android:id="@+id/alANo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/grades"
android:prompt="@string/grades_prompt" />
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="B"
android:textStyle="bold"
android:textAlignment="center"
android:gravity="center_horizontal" />
<Spinner
android:id="@+id/alBNo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/grades"
android:prompt="@string/grades_prompt" />
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="C"
android:textStyle="bold"
android:textAlignment="center"
android:gravity="center_horizontal" />
<Spinner
android:id="@+id/alCNo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/grades"
android:prompt="@string/grades_prompt" />
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="D"
android:textStyle="bold"
android:textAlignment="center"
android:gravity="center_horizontal" />
<Spinner
android:id="@+id/alDNo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/grades"
android:prompt="@string/grades_prompt" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/btnSubmit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Submit" />
</TableRow>
</TableLayout>
</LinearLayout>
That's my Popup XML File
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/text_view_score"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btnOk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ok"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text_view_score"
app:layout_constraintVertical_bias="0.163" />
</androidx.constraintlayout.widget.ConstraintLayout>
Can anybody help me please I am coding for 2 days and I cant perform this simple task. Thank you in advance.