Luch Filip
Luch Filip

Reputation: 1133

Android Second Activity Error

So My application Consists of first activity which shows some text, and on action bar there is a File menu, in which I put My location option.

I call another activity in mainActivity with onOptionItemSelected as follows:

    public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.action_photo:
            openPhoto();
            return true;
        case R.id.action_video:
            openVideo();
            return true;
        case R.id.action_map:
            Intent intent = new Intent(this, GPSTracker.class);
            startActivity(intent);
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }

in manifest i declare the second activity as follows:

     <activity
        android:name="com.example.locateme.GPSTracker"
        android:label="@string/app_name" > 
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        </activity>

and in GPSTracker.java i write this:

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_gpstracker);
}

also there is my code for finding the location. I am running the app, bu when i press My Location option the app crashes.

Here are the logcat errors after removing intent for GPS activity

The full code of the app is here, in case there may be something i missed. Do i call the second activity in the wrong way?

Upvotes: 0

Views: 123

Answers (2)

MaciejG&#243;rski
MaciejG&#243;rski

Reputation: 22232

java.lang.InstantiationException: can't instantiate class com.example.locateme.GPSTracker; no empty constructor

is quite obvious error.

Somewhere in your GPSTracker class you have a definition like

public GPSTracker(SomeClass referenceName) {
     //...
}

This block of code should be removed or replaced with constructor without params. The first option if prefered: use onCreate as your constructor.

Upvotes: 1

Opiatefuchs
Opiatefuchs

Reputation: 9870

First, remove the intent-filter for Your GPS Activity in Your Manifest.xml, here You had set both activities (Main and GPS) as a launcher. Set only one Activity as LAUNCHER and MAIN. And then it will be good to see LogCat Output to know why it crashs

Upvotes: 1

Related Questions