Question

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>
Was it helpful?

Solution

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));
            }
       });
}

OTHER TIPS

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));
            }
        });
    }
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top