如何对动态表格丝毫按钮的不同字段进行排序?
我试试这个
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);
}
}