问题描述
由于正在使用的设备种类以及避免在其他启动器上显示太多广告,我正在为自己创建一个Android应用启动器。
我想创建一个 botton A-Z ,如果单击任何 Letter ,它将显示所有以该字母开头的应用。
所以我想说我需要搜索或过滤Arraylist才能仅显示具有相同值的App。
我的Arraylist就是这样
public static ArrayList<AppInfoMain> userAppsList = new ArrayList<>();
我的模特就是这样
public class AppInfoMain implements Comparable<AppInfoMain> {
String username,user_id,description;
private int id;
public CharSequence appLabel;
public CharSequence appFirstLabel;
public String packageName;
public Drawable applogo;
private boolean isSectionHeader;
private int color = -1;
public AppInfoMain() {
super();
}
public AppInfoMain(int id,String Appname,String appPackageName) {
super();
this.id = id;
this.appLabel = Appname;
this.packageName = appPackageName;
}
public AppInfoMain(int flags,Drawable applogo,String appLabel,String packageName) {
this.appLabel = appLabel;
this.packageName = packageName;
this.applogo = applogo;
}
public AppInfoMain(String itemTime,String itemSysDia,String itempulse,String appFirstLabel,int color) {
this.appFirstLabel = appFirstLabel;
isSectionHeader = false;
this.color = color;
}
@Override
public boolean equals(Object object) {
if (object instanceof AppInfoMain) {
AppInfoMain app = (AppInfoMain) object;
return packageName.equals(app.packageName);
} else {
return false;
}
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + id;
return result;
}
@Override
public String toString() {
return "Product [id=" + id + ",name=" + appLabel + ",description="
+ description + ",price=" + packageName + "]";
}
public String getAppLabel() {
return String.valueOf(appLabel);
}
public String getAppFirstLabel() {
return String.valueOf(appFirstLabel);
}
public String getPackageName() {
return packageName;
}
public Drawable getApplogo() {
return applogo;
}
public void setUsername(String username) {
this.username = username;
}
public String getUsername() {
return username;
}
public void setDescription(String description) {
this.description = description;
}
public String getDescription() {
return description;
}
public boolean isSectionHeader() {
return isSectionHeader;
}
public void setToSectionHeader() {
isSectionHeader = true;
}
String appFirstLabelString = String.valueOf(appFirstLabel);
@Override
public int compareto(AppInfoMain itemmodel) {
return this.appFirstLabelString.compareto(itemmodel.appFirstLabelString);
}
public int getColor() {
return color;
}
public void setColor(int color) {
this.color = color;
}
/*@Override
public int compareto(AppInfoMain itemmodel) {
return this.appFirstLabel.compareto(itemmodel.appFirstLabel);
}*/
}
谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)