Я пытаюсь заполнить ListView с помощью HashMap и SimpleAdapter из вложенного массива с 12 столбцами и 12 строками.
Итак, вот мой код
try {
String [][] array2 = new String[cursor.getCount()][cursor.getColumnCount()];
cursor.moveToFirst();
for (int i =0; i<cursor.getCount();i++){
for(int j = 0; j < cursor.getColumnNames().length; j++) {
String uname = cursor.getString(j);
array2[i][j]=uname;
}
cursor.moveToNext();
}
} finally {
cursor.close();
}
а затем простой адаптер с хэш-картой
int[] to = new int[]{R.id.item2, R.id.item3, R.id.item4, R.id.item5, R.id.item6, R.id.item7, R.id.item8 ,R.id.item9, R.id.item10, R.id.item11, R.id.item12};
List<HashMap<String,String>> fillMaps = (List<HashMap<String, String>>) new ArrayList<HashMap<String, String>>();
for(int i = 0; i<10;i++){
HashMap<String,ArrayList> map = new HashMap<String, ArrayList>();
}
SimpleAdapter adapter = new SimpleAdapter(this, fillMaps, R.layout.grid_item, array2, to);
когда я пытаюсь это сделать, я получаю сообщение об ошибке
SimpleAdapter(android.content.Context, java.util.List<? extends java.util.Map<java.lang.String,?>>, int, java.lang.String[], int[])
' вandroid.widget.SimpleAdapter
нельзя применить к(com.example.thevenom1215.prueba.MainActivity, java.util.List<java.util.HashMap<java.lang.String, java.lang.String>>, int, java.util.ArrayList<java.lang.String>, int[])
Или я думал, что смогу преобразовать вложенный массив в простой массив, это возможно? Если да, то как я могу это сделать? я пробовал это
String from [] = new String from[252]:
from[0]= array[0][1]+"|"+array[0][2]+"|"+array[0][3]+......+array[0][12];
но это не работает.
В array2
, то есть array2[12][21]
, каждая строка имеет 12 столбцов, которые содержат информацию о человеке, например (name, age)
.
Cesar Joel Gurrola, xx
Первая строка массива: [Cesar, Joel, Gurrola, xx]
Мне нужно это в массиве, потому что дальше в моем коде мне нужно String
по String
, а не целая строка "Cesar, Joel, Gurrola, xx"
SQL-запрос
sql="select b.CVE_CONTR, r.NO_RECIBO , a.NOM_SOLICIT ,r.NO_PARCIAL ,r.SDO_TOTAL, r.STS_PAGO ,a.AP_PATSOLICIT,a.AP_MATSOLICIT, " +
"f.DESCRIPCION, b.NO_PARCIALID , b.PAGO_PARCIAL, b.TOT_APAG from MFRF_M_SOLICITANTES a, MFRF_M_CONTPREV_H b, MFRF_M_CONTPREV_D_RECGEN_2 r," +
"C_PAQUETE f , C_PARCIALIDADES g, MFRF_C_COLONIAS c where b.CVE_CONTR = '"+etnumcontrato.getText().toString() + "' and r.STS_PAGO in ('1','10','11','12')" +
"and c.ID_COLONIA = a.ID_COLONIA and f.ID_PAQUETE = b.ID_PAQUETE and g.ID_PARCIALIDAD = b.ID_PARCIAL AND a.ID_SOLICIT = b.ID_SOLICITANTE ";
ArrayAdapter
- person OneCricketeer   schedule 02.08.2016array2
должен бытьString[]
, а не массивом массивов или 2D-массивом. - person OneCricketeer   schedule 02.08.2016new String from[252]:
не является правильным синтаксисом Java.new String[252]:
есть. - person OneCricketeer   schedule 02.08.2016