Andrew Delgadillo
Andrew Delgadillo

Reputation: 161

Using intents to switch activities

I am reading a android book for beginners, and while following on of the chapters I ran into a problem. The chapter is teaching about intents. I right now I have 2 layouts: main.xml, and digital_clock.xml. And in the AndroidManifest I have these lines of code:

    <application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:label="@string/app_name"
        android:name=".Chapter11Activity" >

        <intent-filter >
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
      <activity
        android:name=".DigitalClockActivity" >
        </activity>
</application>

Also I have the two Activity classes that correspond to the layouts:

Chapter11Activity: import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button;

public class Chapter11Activity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button a2 = (Button)findViewById(R.id.button1);
        a2.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                Intent myIntent = new Intent(v.getContext(), DigitalClockActivity.class);
                startActivityForResult(myIntent, 0);
            }
        });
    }
}

DigitalClockActivity:

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class DigitalClockActivity extends Activity {

    public void OnCreate(Bundle sIS) {
        super.onCreate(sIS);
        setContentView(R.layout.digital_clock);
        Button a1 = (Button) findViewById(R.id.button01);
        a1.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                Intent replyIntent = new Intent();
                setResult(RESULT_OK, replyIntent);
                finish();
            }
        });

    }
}

When I run the app on my phone and switch to the second activity it shows nothing at all. Am I defining something wrong in the AndroidManifest? The application seems very straight forward, but it is not working. I have check over to make sure I didn't type anything wrong. Is it because I am running a android 2.3.3 phone and using the 1.5 sdk, and something is not backwards compatible? Any answers are appreciated!

~Andrew

Upvotes: 0

Views: 287

Answers (1)

Peter Knego
Peter Knego

Reputation: 80340

Method name in second activity should be onCreate not OnCreate.

To prevent typos like this in the future use @Override on methods that you are overriding:

@Override
public void OnCreate(Bundle sIS) {
    // code here
}

Then if you make a typo, the compiler will tell about it.

Upvotes: 3

Related Questions