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>
Était-ce utile?

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

Autres conseils

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));
            }
        });
    }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top