排序动态表惠特按钮

时间:2018-12-31 20:23:47

标签: java android

如何对动态表格丝毫按钮的不同字段进行排序?

我试试这个

 public void onClickOrdena(View view) {

    switch (view.getId()) {
        case R.id.button://boton JJ
            campo =1;
            break;
        case R.id.button2://boton JG
            campo =2;
            break;
    }


    //tablaDinamica = new TablaDinamica_Estadisticas(tabla_estadistica, getApplicationContext());
    tablaDinamica.cleanTable();//clean all views
    tablaDinamica.addHeader(header);
    tablaDinamica.addData(getData());
    tablaDinamica.backgroundHeader(0xFF00FF00);
    tablaDinamica.backgroundData(Color.DKGRAY, Color.BLACK);

}

}

我在这里尝试过jj和Jw的“游戏”和“胜利”。 但是将新行复制到我的桌子上。不要理解为什么。因为我清洗了桌子。我只需要用户按一下按钮就可以将自己弄湿。

这是整个代码。     公共类Tabla_Estadisticas扩展了AppCompatActivity {

private TableLayout tabla_estadistica;
private String[] header = {"Rank", "Jugador", "JJ", "JG", "JE", "JP", "GA", "GP", "DG", "Coeficiente", "Pts"};
private List<String[]> rows = new ArrayList<>();
private List<Jugadores> jugadoresList;
private TablaDinamica_Estadisticas tablaDinamica;
int campo;

private DataBaseManagerJugadores managerJugadores;



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_tabla__estadisticas);

    tabla_estadistica = (TableLayout) findViewById(R.id.estadisticas_table);
    managerJugadores = new DataBaseManagerJugadores(this);
    jugadoresList = new ArrayList<>();
    jugadoresList = managerJugadores.getJugadoresList();



    tablaDinamica = new TablaDinamica_Estadisticas(tabla_estadistica, getApplicationContext());
    tablaDinamica.addHeader(header);
    tablaDinamica.addData(getData());
    tablaDinamica.backgroundHeader(0xFF00FF00);
    tablaDinamica.backgroundData(Color.DKGRAY, Color.BLACK);

    campo = 0;


}


//Metodo para llenar la tabla
private List<String[]> getData() {



        switch (campo){
            case 1:
                Collections.sort(jugadoresList, new Comparator<Jugadores>() {
                    public int compare(Jugadores jug1, Jugadores jug2) {
                        int orden = Integer.valueOf(jug1.getId()).compareTo(jug2.getId());
                        return orden;
                    }   });
                break;
            case 2:
                Collections.sort(jugadoresList, new Comparator<Jugadores>() {
                    public int compare(Jugadores jug1, Jugadores jug2) {
                        int orden = Integer.valueOf(jug1.getJj()).compareTo(jug2.getJj());

                        return orden;
                    }   });
                break;
        }


    //LLenado de Tabla
    for (int i = 0; i <= jugadoresList.size() - 1; i++) {
        Jugadores jugador = jugadoresList.get(i);
        String papa = "mojo";
        rows.add(new String[]{
                String.valueOf(jugador.getId()),
                jugador.getNombre(),
                String.valueOf(jugador.getJj()),
                String.valueOf(jugador.getJg()),
                String.valueOf(jugador.getJe()),
                String.valueOf(jugador.getJp()),
                String.valueOf(jugador.getGa()),
                String.valueOf(jugador.getGp()),
                String.valueOf(jugador.getDg()),
                papa,
                //String.format("%.0f", jugador.getCoeficiente()),
                String.valueOf(jugador.getPts())
        });

    }
    managerJugadores.cerrar();
    return rows;

}

// Metodo onClickOrdena para Ordenar
public void onClickOrdena(View view) {

    switch (view.getId()) {
        case R.id.button://boton JJ
            campo =1;
            break;
        case R.id.button2://boton JG
            campo =2;
            break;
    }


    //tablaDinamica = new TablaDinamica_Estadisticas(tabla_estadistica, getApplicationContext());
    tablaDinamica.cleanTable();//clean all views
    tablaDinamica.addHeader(header);
    tablaDinamica.addData(getData());
    tablaDinamica.backgroundHeader(0xFF00FF00);
    tablaDinamica.backgroundData(Color.DKGRAY, Color.BLACK);

}

}

这是添加数据的方法

public void addData(List<String[]> data) {
    this.data=data;
    createDataTable();
}

private void createDataTable(){
    String info;
    for (indexR=1;indexR<=data.size();indexR++){
        newRow();
        for (indexC=0;indexC<header.length;indexC++){
            newCell();;
            String[] columns=data.get(indexR-1);
            info=(indexC<columns.length)?columns[indexC]:"";
            tvCell.setText(info);
            tableRow.addView(tvCell,newTableRowParams());
        }
        tableLayout.addView(tableRow);
    }
}

0 个答案:

没有答案