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