具有应用程序和上下文的Android ClassCast异常

具有应用程序和上下文的Android ClassCast异常,android,listview,Android,Listview,我在listview的onitemclick方法中遇到ClassCast异常。单击项目时,它应转到下一个活动,但单击项目时,应用程序将强制关闭,并在以下位置发出类强制转换异常: AppData AppData=(AppData)getApplicationContext() 这是密码 使用活动: public class UsageActivity extends Activity implements OnItemClickListener { PackageM

我在listview的onitemclick方法中遇到ClassCast异常。单击项目时,它应转到下一个活动,但单击项目时,应用程序将强制关闭,并在以下位置发出类强制转换异常:

AppData AppData=(AppData)getApplicationContext()

这是密码

使用活动:

 public class UsageActivity extends Activity
        implements OnItemClickListener {

      PackageManager packageManager;
        ListView apkList;



    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_usage);


        packageManager = getPackageManager();
        List<PackageInfo> packageList = packageManager
                .getInstalledPackages(PackageManager.GET_PERMISSIONS);




        apkList = (ListView) findViewById(R.id.applist);
         apkList.setAdapter(new ApkAdapter(this, packageList, packageManager));

            apkList.setOnItemClickListener(this);
        }


    @Override
public void onItemClick(AdapterView<?> parent, View view, int position, long row) {
    // TODO Auto-generated method stub

     PackageInfo packageInfo = (PackageInfo) parent
                .getItemAtPosition(position);
        AppData appData =  (AppData) getApplicationContext();
        appData.setPackageInfo(packageInfo);


        Intent appInfo = new Intent(getApplicationContext(), ApkInfo.class);
        startActivity(appInfo);

}

请提供帮助。

getApplicationContext()
返回一个
Context
对象。它不知道您的
AppData
对象。为什么需要它来设置这样的
PackageInfo
?您是否在清单中声明了自定义
应用程序
类?不,我忘了这么做。。现在开始工作了..很多
package com.example.ui_work;


    import android.app.Application;
    import android.content.pm.PackageInfo;

    public class AppData extends Application {

        PackageInfo packageInfo;

        public PackageInfo getPackageInfo() {
            return packageInfo;
        }

        public void setPackageInfo(PackageInfo packageInfo) {
            this.packageInfo = packageInfo;
        }

    }