You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio中如何实现ListView按FCM数值降序排列

实现方案

你只需要修改3个文件的少量代码即可完成按FCM数值降序排序的需求:

步骤1:修改Atleta.java,新增FCM数值字段

你当前的Atleta类只存了拼接好的FCM字符串,不方便直接排序,我们新增一个int类型的字段单独存储FCM数值:

package br.ldkstudiosart.freqmax;

public class Atleta {
    private String nome;
    private String idade;
    // 新增FCM数值字段,用于排序
    private int fcm;

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getIdade() {
        return idade;
    }

    public void setIdade(String idade) {
        this.idade = idade;
    }
    
    // 新增fcm的get、set方法
    public int getFcm() {
        return fcm;
    }

    public void setFcm(int fcm) {
        this.fcm = fcm;
    }

    @Override
    public String toString() {
        return "Nome: " + nome + " Idade: " + idade;
    }
}

步骤2:修改MainActivity.java,添加数据后执行排序

首先先导入需要的工具类:

import java.util.Collections;
import java.util.Comparator;

然后修改processarCliqueAdicionarCalcular方法,在添加新的Atleta对象到列表后,对整个列表按fcm字段降序排序,再通知适配器刷新:

public void processarCliqueAdicionarCalcular(View v) {
    Atleta a = new Atleta();
    a.setNome(txtNome.getText().toString());

    int soma = Integer.valueOf(txtIdade.getText().toString());
    int total = 220 - soma;
    a.setIdade(String.valueOf("FCM: " + total));
    // 把计算得到的FCM数值存到新增的字段里
    a.setFcm(total);

    atletas.add(a);
    // 新增排序逻辑:按fcm数值降序排列
    Collections.sort(atletas, new Comparator<Atleta>() {
        @Override
        public int compare(Atleta o1, Atleta o2) {
            // 降序排序返回后者减前者,升序的话反过来即可
            return o2.getFcm() - o1.getFcm();
        }
    });
    // 如果你使用Java 8及以上版本,可以用lambda简化排序代码:
    // atletas.sort((o1, o2) -> o2.getFcm() - o1.getFcm());
    
    adapter.notifyDataSetChanged();
    Toast.makeText(getBaseContext(), a.toString(), Toast.LENGTH_LONG).show();
}

步骤3:无需修改AtletaAdapter代码

排序逻辑直接修改了数据源atletas的顺序,适配器会按照修改后的顺序渲染列表,不需要额外调整。


内容的提问来源于stack exchange,提问作者Davi Grulke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 14:54:03