Question
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
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started