Android ArrayList不包含其内容
我有一个包含应用程序包名称的列表。 我想隐藏其中的一些,所以我得到了一个SQLIte数据库,其中包括应该隐藏的packageNames 大小为1,有一个名为=“com.xiaomi.midrop”的包 所以我有一个清单;AppDrawer有一个getter和setterAndroid ArrayList不包含其内容,android,arraylist,Android,Arraylist,我有一个包含应用程序包名称的列表。 我想隐藏其中的一些,所以我得到了一个SQLIte数据库,其中包括应该隐藏的packageNames 大小为1,有一个名为=“com.xiaomi.midrop”的包 所以我有一个清单;AppDrawer有一个getter和setter 私有字符串packageName;私有字符串appName 列表中还有一个Getter和Setter: 仅字符串packageName 我有一个带有ResolveName的for循环,所以PackageNames for(Res
私有字符串packageName;私有字符串appName代码>
列表中还有一个Getter和Setter:
仅字符串packageName代码>
我有一个带有ResolveName的for循环,所以PackageNames
for(ResolveInfo resolveInfo : resolveInfosAppDrawer){
String packageName = resolveInfo.activityInfo.packageName;
if(listHide.contains(new AppHide(resolveInfo.activityInfo.packageName))){
Toast.makeText(context, "HIDE IT", Toast.LENGTH_SHORT).show();
}else{
}
appDrawerList.add(new AppDrawer(resolveInfo.activityInfo.packageName, (String) resolveInfo.loadLabel(context.getPackageManager())));
}
但它总是不起作用,即使列表(AppHide)中也充满了一个PackageName。试试这种逻辑。您需要迭代listHide来检查每个包名
for (ResolveInfo resolveInfo : resolveInfosAppDrawer) {
String packageName = resolveInfo.activityInfo.packageName;
boolean isForDrawer = true;
for (AppHide hide : listHide) {
if (hide.getPackagEName().contentEquals(packageName)) {
isForDrawer = false;
Toast.makeText(context, "HIDE IT", Toast.LENGTH_SHORT).show();
}
}
if (isForDrawer) {
appDrawerList.add(new AppDrawer(resolveInfo.activityInfo.packageName, (String) resolveInfo.loadLabel(context.getPackageManager())));
}
}
什么是listHide及其类型?它是Listtry for(int j=0;j