Reputation: 134
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button PressMe = (Button)findViewById(R.id.btnPressMe);
PressMe.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v) {
startActivity(new Intent(Main.this, PiggyBank.class));
// TODO Auto-generated method stub
}
});
}
I have project named PiggyBank. The PiggyBank containts two screens, a welcome screen and an input/output screen. The code above is for my first screen which is a welcome screen. A welcome screen has a button named Press Me. When a user pressed the button it takes him/her to the input/output screen. This is what the above code is supposed to do. But I have an error. The line startActivity(new Intent(Main.this, PiggyBank.class));
has two red underlines, the first one is under Main.this and the second one is under PiggyBank.class. How can I fix these two errors?
PiggyBank.java
import java.text.DecimalFormat;
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.Spinner;
import android.widget.TextView;
public class PiggyBank2 extends Activity {
String groupChoice;
int NumberOfQuarters, NumberOfDimes, NumberOfNickels, NumberOfPennies;
double TotalQuarters, TotalDimes, TotalNickels, TotalPennies;
double Quarters, Dimes, Nickels,Pennies;
double sumCost;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_piggy_bank2);
final EditText quarters = (EditText) findViewById(R.id.txtQuaters);
final EditText dimes = (EditText) findViewById(R.id.txtDimes);
final EditText nickels = (EditText) findViewById(R.id.txtNickels);
final EditText pennies = (EditText) findViewById(R.id.txtPennies);
final Spinner group = (Spinner) findViewById(R.id.txtGroup);
Button Calculate = (Button) findViewById(R.id.btnCalc);
final TextView result = ((TextView)findViewById(R.id.txtResult));
Calculate.setOnClickListener(new OnClickListener ()
{
public void OnClick(View v)
{
NumberOfQuarters=Integer.parseInt(quarters.getText().toString());
NumberOfDimes=Integer.parseInt(dimes.getText().toString());
NumberOfNickels=Integer.parseInt(nickels.getText().toString());
NumberOfPennies=Integer.parseInt(pennies.getText().toString());
TotalQuarters = Quarters * NumberOfQuarters;
TotalDimes = Dimes * NumberOfDimes;
TotalNickels = Nickels * NumberOfNickels;
TotalPennies = Pennies * NumberOfPennies;
DecimalFormat currency = new DecimalFormat("$###,###.00");
sumCost = TotalQuarters+TotalDimes+TotalNickels+TotalPennies;
groupChoice= group.getSelectedItem().toString();
result.setText("THIS IS YOUR TOTAL " + groupChoice + " COST IS " + currency.format(sumCost));
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.piggy_bank2, menu);
return true;
}
}
Activity_main.xml:
<?xml version="1.0"?>
-<RelativeLayout tools:context=".MainActivity" android:paddingTop="@dimen/activity_vertical_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingBottom="@dimen/activity_vertical_margin" android:layout_height="match_parent" android:layout_width="match_parent" xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android">
<TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:textStyle="bold" android:textSize="25sp" android:textColor="#FF0099" android:text="Welcome to Piggy Bank!" android:layout_centerHorizontal="true" android:layout_alignParentTop="true" android:id="@+id/txtPiggyBank"/>
<ImageView android:layout_height="250dp" android:layout_width="250dp" android:layout_centerHorizontal="true" android:id="@+id/imageView1" android:src="@drawable/piggybank" android:layout_marginTop="16dp" android:layout_below="@+id/txtPiggyBank"/>
<Button android:layout_height="50dp" android:layout_width="100dp" android:textStyle="bold" android:textColor="#FFFFFF" android:text="Press ME" android:layout_centerHorizontal="true" android:id="@+id/btnPressMe" android:layout_marginTop="48dp" android:layout_below="@+id/imageView1" android:background="#FF0099"/>
</RelativeLayout>
Activity_piggy_bank2.xml
<?xml version="1.0"?>
-<RelativeLayout tools:context=".PiggyBank2" android:paddingTop="@dimen/activity_vertical_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingBottom="@dimen/activity_vertical_margin" android:layout_height="match_parent" android:layout_width="match_parent" xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android">
<EditText android:layout_height="37dp" android:layout_width="200dp" android:textSize="20sp" android:inputType="number" android:hint="@string/Quaters" android:ems="10" android:layout_marginTop="34dp" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:id="@+id/editText1"/>
<EditText android:layout_height="37dp" android:layout_width="200dp" android:textSize="20sp" android:inputType="number" android:hint="@string/Dimes" android:ems="10" android:layout_marginTop="23dp" android:id="@+id/editText2" android:layout_below="@+id/editText1" android:layout_alignLeft="@+id/editText1"/>
<TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:textSize="20sp" android:layout_marginTop="28dp" android:id="@+id/txtNickels" android:layout_below="@+id/editText2" android:layout_alignLeft="@+id/txtDimes" android:textColor="#0099FF" android:text="Nickels"/>
<TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:textSize="20sp" android:id="@+id/txtQuaters" android:textColor="#00CF00" android:text="Quaters" android:layout_toRightOf="@+id/editText1" android:layout_alignBottom="@+id/editText1" android:layout_alignBaseline="@+id/editText1"/>
<TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:textSize="20sp" android:id="@+id/txtDimes" android:layout_alignLeft="@+id/txtQuaters" android:textColor="#FF66CC" android:text="Dimes" android:layout_alignBottom="@+id/editText2" android:layout_alignBaseline="@+id/editText2"/>
<TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:textSize="20sp" android:layout_marginTop="50dp" android:id="@+id/txtPennies" android:layout_below="@+id/txtNickels" android:layout_alignLeft="@+id/txtNickels" android:textColor="#FF0066" android:text="Pennies"/>
<EditText android:layout_height="37dp" android:layout_width="200dp" android:textSize="20sp" android:inputType="number" android:hint="@string/Pennies" android:ems="10" android:id="@+id/editText4" android:layout_alignLeft="@+id/editText3" android:layout_alignBottom="@+id/txtPennies" android:layout_alignBaseline="@+id/txtPennies"/>
-<EditText android:layout_height="37dp" android:layout_width="200dp" android:textSize="20sp" android:inputType="number" android:hint="@string/Nickels" android:ems="10" android:id="@+id/editText3" android:layout_alignLeft="@+id/editText2" android:layout_alignTop="@+id/txtNickels">
<requestFocus/>
</EditText>
<Spinner android:layout_height="50dp" android:layout_width="100dp" android:id="@+id/txtGroup" android:layout_below="@+id/txtPennies" android:prompt="@string/Title" android:entries="@array/Groups" android:layout_centerHorizontal="true"/>
<Button android:layout_height="50dp" android:layout_width="200dp" android:layout_marginTop="16dp" android:id="@+id/btnCalc" android:layout_below="@+id/txtGroup" android:text="Calculate" android:layout_centerHorizontal="true"/>
<TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_marginTop="21dp" android:id="@+id/txtResult" android:layout_below="@+id/btnCalc" android:layout_centerHorizontal="true"/>
<TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/txtResult" android:layout_alignTop="@+id/txtResult" android:layout_centerHorizontal="true"/>
</RelativeLayout>
AndroidManifest.XML:
<?xml version="1.0" encoding="UTF-8"?>
-<manifest android:versionName="1.0" android:versionCode="1" package="com.example.anneholmes1" xmlns:android="http://schemas.android.com/apk/res/android">
<uses-sdk android:targetSdkVersion="19" android:minSdkVersion="19"/>
-<application android:theme="@style/AppTheme" android:label="@string/app_name" android:icon="@drawable/ic_launcher" android:allowBackup="true">
-<activity android:label="@string/app_name" android:name="com.example.anneholmes1.PiggyBank2">
-<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
Upvotes: 1
Views: 402
Reputation: 29632
Here I am adding second answer after,
The mistake was, you have declared TextView in your .xml files and you were using EditText inside the Activity file. I have corrected all the errors.
Upload your code as below,
MainActivity.java
public class MainActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button PressMe = (Button)findViewById(R.id.btnPressMe);
PressMe.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, PiggyBank2.class));
// TODO Auto-generated method stub
}
});
}
}
PiggyBank2.java
public class PiggyBank2 extends Activity
{
String groupChoice;
int NumberOfQuarters, NumberOfDimes, NumberOfNickels, NumberOfPennies;
double TotalQuarters, TotalDimes, TotalNickels, TotalPennies;
double Quarters, Dimes, Nickels,Pennies;
double sumCost;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_piggy_bank2);
final TextView quarters = (TextView) findViewById(R.id.txtQuaters);
final TextView dimes = (TextView) findViewById(R.id.txtDimes);
final TextView nickels = (TextView) findViewById(R.id.txtNickels);
final TextView pennies = (TextView) findViewById(R.id.txtPennies);
final Spinner group = (Spinner) findViewById(R.id.txtGroup);
Button Calculate = (Button) findViewById(R.id.btnCalc);
final TextView result = (TextView)findViewById(R.id.txtResult);
Calculate.setOnClickListener(new OnClickListener ()
{
@Override
public void onClick(View v)
{
NumberOfQuarters=Integer.parseInt(quarters.getText().toString());
NumberOfDimes=Integer.parseInt(dimes.getText().toString());
NumberOfNickels=Integer.parseInt(nickels.getText().toString());
NumberOfPennies=Integer.parseInt(pennies.getText().toString());
TotalQuarters = Quarters * NumberOfQuarters;
TotalDimes = Dimes * NumberOfDimes;
TotalNickels = Nickels * NumberOfNickels;
TotalPennies = Pennies * NumberOfPennies;
DecimalFormat currency = new DecimalFormat("$###,###.00");
sumCost = TotalQuarters+TotalDimes+TotalNickels+TotalPennies;
groupChoice= group.getSelectedItem().toString();
result.setText("THIS IS YOUR TOTAL " + groupChoice + " COST IS " + currency.format(sumCost));
}
});
}
}
Upvotes: 1
Reputation: 29632
You have mistakenly use Main.this instead of MainActivity.this as your Activity's name is MainActivty not Main.
So correct way is as follows,
public class MainActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button PressMe = (Button)findViewById(R.id.btnPressMe);
PressMe.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
startActivity(new Intent(MainActivity.this, PiggyBank.class));
}
});
}
Upvotes: 2