Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

ANDROID PROGRAMMING I need some help, I want this app to keep a running total of expenses. When you click on the +Expense button it

ANDROID PROGRAMMING

I need some help, I want this app to keep a running total of expenses. When you click on the +Expense button it takes you to another activity (Expense). In this activity there is an edit text field when you put an amount in it puts it in a text field in the MainActivity. I want to keep a running total in this text field? Here is my code for the two activities:

MainActivity.java

package com.murach.myexpenses; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class MainActivity extends AppCompatActivity { @Override protected void onCreate (Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button1 = (Button) findViewById(R.id.btnAddExpense); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick (View v) { Intent int1 = new Intent(MainActivity.this, Expense.class); startActivity(int1); } }); Intent intent2 = getIntent(); int ExpenseValue = intent2.getIntExtra("parameter name", 0); TextView textView = (TextView) findViewById(R.id.tvExpenseTotal); textView.setText("" + ExpenseValue); } }

Expense.java

package com.murach.myexpenses; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.Spinner; import android.widget.Toast; public class Expense extends AppCompatActivity implements AdapterView.OnItemSelectedListener { Spinner spinner; @Override protected void onCreate (Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_expense); setupAddBtn(); spinner = (Spinner) findViewById(R.id.spinner); ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.category, android.R.layout.simple_spinner_item); spinner.setAdapter(adapter); spinner.setOnItemSelectedListener(this); } @Override public void onItemSelected (AdapterView parent, View view, int position, long id) { } @Override public void onNothingSelected (AdapterView parent) { } private void setupAddBtn () { Button btn = (Button) findViewById(R.id.btnAdd); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick (View v) { EditText userTextEntry = (EditText) findViewById(R.id.etAmount); String userData = userTextEntry.getText().toString(); int Total = Integer.parseInt(userData); Intent intent = new Intent(Expense.this, MainActivity.class); intent.putExtra("parameter name", Total); startActivity(intent); } }); } }

activity_expense.xml

xml version="1.0" encoding="utf-8"?> <RelativeLayout 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.murach.myexpenses.Expense"> <TextView  android:id="@+id/lblExpenses"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_alignParentLeft="true"  android:layout_alignParentStart="true"  android:layout_alignParentTop="true"  android:layout_marginLeft="64dp"  android:layout_marginStart="64dp"  android:layout_marginTop="45dp"  android:text="Expense Transactions"  android:textColor="@color/colorPrimary"  android:textSize="22sp"  android:textStyle="bold"  tools:layout_editor_absoluteX="84dp"  tools:layout_editor_absoluteY="57dp" /> <Spinner  android:id="@+id/spinner"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_alignLeft="@+id/etAmount"  android:layout_alignStart="@+id/etAmount"  android:layout_below="@+id/lblExpenses"  android:layout_marginLeft="35dp"  android:layout_marginStart="35dp"  android:layout_marginTop="66dp"> Spinner> <TextView  android:id="@+id/tvCategory"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_alignParentLeft="true"  android:layout_alignParentStart="true"  android:layout_alignTop="@+id/spinner"  android:layout_marginLeft="32dp"  android:layout_marginStart="32dp"  android:text="Category"  android:textColor="@color/colorPrimary"  android:textSize="18sp"  android:textStyle="bold" /> <TextView  android:id="@+id/tvAmount"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_alignLeft="@+id/tvCategory"  android:layout_alignStart="@+id/tvCategory"  android:layout_below="@+id/tvCategory"  android:layout_marginTop="38dp"  android:text="Amount"  android:textColor="@color/colorPrimary"  android:textSize="18sp"  android:textStyle="bold"  /> <EditText  android:id="@+id/etAmount"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_alignBottom="@+id/tvAmount"  android:layout_marginLeft="15dp"  android:layout_marginStart="15dp"  android:layout_toEndOf="@+id/tvCategory"  android:layout_toRightOf="@+id/tvCategory"  android:ems="3"  android:inputType=""  android:textSize="18sp"  android:textStyle="bold" /> <Button  android:id="@+id/btnAdd"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_alignTop="@+id/etAmount"  android:layout_marginLeft="17dp"  android:layout_marginStart="17dp"  android:layout_toEndOf="@+id/etAmount"  android:layout_toRightOf="@+id/etAmount"  android:background="#2E8B57"  android:text="Add"  android:textColor="#FFFFFF"  android:textSize="12sp" /> RelativeLayout> 

activity_main.xml

xml version="1.0" encoding="utf-8"?> <RelativeLayout 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"  android:background="#98FB98"  tools:context="com.murach.myexpenses.MainActivity"> <TextView  android:id="@+id/lblTotal"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_alignParentTop="true"  android:layout_centerHorizontal="true"  android:layout_marginTop="65dp"  android:text="TOTAL"  android:textColor="@android:color/black"  android:textSize="30sp"  android:textStyle="bold" /> <TextView  android:id="@+id/tvExpenseTotal"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_alignParentLeft="true"  android:layout_alignParentStart="true"  android:layout_below="@+id/lblTotal"  android:layout_marginLeft="123dp"  android:layout_marginStart="123dp"  android:layout_marginTop="31dp"  android:textColor="@android:color/black"  android:textSize="24sp"  android:textStyle="bold"  android:text=""/> <Button  android:id="@+id/btnAddExpense"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_alignParentBottom="true"  android:layout_centerHorizontal="true"  android:layout_marginBottom="118dp"  android:background="#2E8B57"  android:text="+Expense"  android:textColor="#FFFFFF"  android:textSize="24sp" /> RelativeLayout> 

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Professional Microsoft SQL Server 2014 Integration Services

Authors: Brian Knight, Devin Knight

1st Edition

1118850904, 9781118850909

More Books

Students also viewed these Databases questions

Question

Why is the System Build Process an iterative process?

Answered: 1 week ago