0

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.

1 Answers1

0

Here use AlertDialog.Builder

FloatingActionButton fab = findViewById(R.id.fab);
    fab.setOnClickListener(view -> {
        String myScore = "50 runs";
        AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
        alertDialogBuilder.setTitle("Cricket Score!");
        alertDialogBuilder.setMessage("Here is your final score: "+ myScore);
        alertDialogBuilder.setCancelable(false)
                .setPositiveButton("Yes", (dialog, id) -> {
                    Log.v("setPositiveButton","Yes Button");
                })
                .setNegativeButton("No", (dialog, id) -> {
                    // if this button is clicked, just close
                    // the dialog box and do nothing
                    dialog.cancel();
                });
        AlertDialog alertDialog = alertDialogBuilder.create();
        // show it
        alertDialog.show();
    });
Dharman
  • 30,962
  • 25
  • 85
  • 135
Chirag Bargoojar
  • 1,026
  • 2
  • 8
  • 19