class cast exception 
<p>I am using springframework for twitter activity but when we click on twitter button it sends class cast actvity. I don't know why bcoz same code is running in different project.
Please help me out.</p>

<p><strong>error stack:</strong></p>

<pre><code>05-09 12:53:17.288: ERROR/AndroidRuntime(1336): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.shopzilla.android.common/org.shopzilla.android.twitter.TwitterActivity}: java.lang.ClassCastException: android.app.Application
05-09 12:53:17.288: ERROR/AndroidRuntime(1336):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
05-09 12:53:17.288: ERROR/AndroidRuntime(1336):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
05-09 12:53:17.288: ERROR/AndroidRuntime(1336):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
05-09 12:53:17.288: ERROR/AndroidRuntime(1336):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
05-09 12:53:17.288: ERROR/AndroidRuntime(1336):     at android.os.Handler.dispatchMessage(Handler.java:99)
05-09 12:53:17.288: ERROR/AndroidRuntime(1336):     at android.os.Looper.loop(Looper.java:123)
05-09 12:53:17.288: ERROR/AndroidRuntime(1336):     at android.app.ActivityThread.main(ActivityThread.java:3683)
05-09 12:53:17.288: ERROR/AndroidRuntime(1336):     at java.lang.reflect.Method.invokeNative(Native Method)
05-09 12:53:17.288: ERROR/AndroidRuntime(1336):     at java.lang.reflect.Method.invoke(Method.java:507)
05-09 12:53:17.288: ERROR/AndroidRuntime(1336):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
05-09 12:53:17.288: ERROR/AndroidRuntime(1336):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
05-09 12:53:17.288: ERROR/AndroidRuntime(1336):     at dalvik.system.NativeStart.main(Native Method)
05-09 12:53:17.288: ERROR/AndroidRuntime(1336): Caused by: java.lang.ClassCastException: android.app.Application
05-09 12:53:17.288: ERROR/AndroidRuntime(1336):     at org.shopzilla.android.common.AbstractAsyncActivity.getApplicationContext(AbstractAsyncActivity.java:40)
05-09 12:53:17.288: ERROR/AndroidRuntime(1336):     at org.shopzilla.android.twitter.TwitterActivity.onCreate(TwitterActivity.java:53)
05-09 12:53:17.288: ERROR/AndroidRuntime(1336):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-09 12:53:17.288: ERROR/AndroidRuntime(1336):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
</code></pre>

<p><strong>code:</strong></p>

<pre><code>/*
 * Copyright 2011 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.shopzilla.android.twitter;

import org.shopzilla.android.common.AbstractAsyncActivity;
import org.shopzilla.android.common.R;
import org.springframework.social.connect.ConnectionRepository;
import org.springframework.social.twitter.api.TwitterApi;
import org.springframework.social.twitter.connect.TwitterConnectionFactory;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;

/**
 * @author Roy Clarkson
 */
public class TwitterActivity extends AbstractAsyncActivity 
{
    protected static final String TAG = TwitterActivity.class.getSimpleName();

    private ConnectionRepository _connectionRepository;

    private TwitterConnectionFactory _connectionFactory;


    //***************************************
    // Activity methods
    //***************************************
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.twitter_activity_layout);

        _connectionRepository = getApplicationContext().getConnectionRepository();
        _connectionFactory = getApplicationContext().getTwitterConnectionFactory();
    }

    @Override
    public void onStart() 
    {
        super.onStart();

        if (isConnected())
        {
            showTwitterOptions();
        }
        else
        {
            showConnectOption();
        }
    }


    //***************************************
    // Private methods
    //***************************************
    private boolean isConnected() 
    {
        return _connectionRepository.findPrimaryConnectionToApi(TwitterApi.class) != null;
    }

    private void disconnect()
    {
        _connectionRepository.removeConnectionsToProvider(_connectionFactory.getProviderId());
    }

    private void showConnectOption()
    {
        String[] options = {"Connect"};
        ArrayAdapter&lt;String&gt; arrayAdapter = new ArrayAdapter&lt;String&gt;(this, android.R.layout.simple_list_item_1, options);
        ListView listView = (ListView) this.findViewById(R.id.twitter_activity_options_list);
        listView.setAdapter(arrayAdapter);

        listView.setOnItemClickListener(
                new AdapterView.OnItemClickListener() 
                {
                    public void onItemClick(AdapterView&lt;?&gt; parentView, View childView, int position, long id) 
                    {
                        switch(position)
                        {
                            case 0:
                                displayTwitterAuthorization();
                                break;
                            default:
                                break;
                        }
                    }
                }
            );
    }

    private void showTwitterOptions()
    {
        String[] options = {"Disconnect", "View Profile", "Timeline", "Tweet", "Direct Message"};
        ArrayAdapter&lt;String&gt; arrayAdapter = new ArrayAdapter&lt;String&gt;(this, android.R.layout.simple_list_item_1, options);
        ListView listView = (ListView) this.findViewById(R.id.twitter_activity_options_list);
        listView.setAdapter(arrayAdapter);

        listView.setOnItemClickListener(
                new AdapterView.OnItemClickListener() 
                {
                    public void onItemClick(AdapterView&lt;?&gt; parentView, View childView, int position, long id) 
                    {
                        Intent intent;
                        switch(position)
                        {
                            case 0:
                                disconnect();
                                showConnectOption();
                                break;
                            case 1:
                                intent = new Intent();
                                intent.setClass(parentView.getContext(), TwitterProfileActivity.class);
                                startActivity(intent);
                                break;
                            case 2:
                                intent = new Intent();
                                intent.setClass(parentView.getContext(), TwitterTimelineActivity.class);
                                startActivity(intent);
                                break;
                            case 3:
                                intent = new Intent();
                                intent.setClass(parentView.getContext(), TwitterTweetActivity.class);
                                startActivity(intent);
                                break;
                            case 4:
                                intent = new Intent();
                                intent.setClass(parentView.getContext(), TwitterDirectMessageActivity.class);
                                startActivity(intent);
                                break;
                            default:
                                break;
                        }
                    }
                }
            );
    }

    private void displayTwitterAuthorization()
    {
        Intent intent = new Intent();
        intent.setClass(this, TwitterWebOAuthActivity.class);
        startActivity(intent);
        finish();
    }
}
</code></pre>
