仅按首字母搜索ArrayList Java Android

问题描述

由于正在使用的设备种类以及避免在其他启动器上显示太多广告,我正在为自己创建一个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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...