For each

bom noite!
preciso de ajuda com for each. Tenho uma classe encapsulada chamada Insert com meus get e set. Tem com eu usar ela no for each para. Fazer um nova chamada dessa classe?
Tipo
Insert o = new Insert();
For (Insert ins1 : objectarray) {
// Aki eu coloco os get q preciso
}
Quando eu faço isso da tipos incompatível
Requerido object
Encontrado Insert

A variável objectarray precisa ser do tipo Insert[], você declarou como Object[].

Obrigado, deu certo Aki. Mas só pra tirar uma dúvida teria como converte essa classe Insert em um object, porque objectarray fica com um aviso pedindo pra ser declarada como Object[].

Insert já é um Object, toda classe Java deriva de Object.

Onde fica esse aviso?
Posta o código completo.

Esse é o código completo. Eu uso ele pra preencher uma listview com lançamentos por conta.

public String[] getAccountDetailsBetweenDates(Context cxt, String acctName, String currency, String fromDate, String toDate) {
double balance_tillstartdate = getAccountPreviousBalance(cxt, acctName, currency, fromDate);
double balance_tillenddate = balance_tillstartdate;
List objlist = new ArrayList();
Compare cmp = new Compare();
Compare.budgetdatecheck = false;
List detailslist = new ArrayList();
DBAdapt dBAdapt = new DBAdapt(cxt);
try {
dBAdapt.createDataBase();
} catch (IOException e) {
e.printStackTrace();
}
dBAdapt.openDataBase();
Cursor cursor = dBAdapt.getExpenseByAccountBetweenDates(acctName, currency, fromDate, toDate);
Object[] objarray;
List ballist;
List rowidlist;
List namelist;
List datelist;
List desclist;
List amountlist;
List statuslist;
List catimagelist;
int i;
String[] rowIdarray;
String[] namearray;
String[] datearray;
String[] descarray;
String[] statusarray;
String[] catimagearray;
String[] amountarray;
int pos;
Double[] balarray;
Insert ins;
if (cursor.getCount() <= 0 || !cursor.moveToFirst()) {
cursor = dBAdapt.getIncomeByAccountBetweenDates(acctName, currency, fromDate, toDate);
if (cursor.getCount() < 0 || !cursor.moveToFirst()) {
cursor = dBAdapt.getTransferFromAccountBetweenDates(acctName, currency, fromDate, toDate);
if (cursor.getCount() < 0 || !cursor.moveToFirst()) {
cursor = dBAdapt.getTransferToAccountBetweenDates(acctName, currency, fromDate, toDate);
if (cursor.getCount() < 0 || !cursor.moveToFirst()) {
objarray = objlist.toArray(new Object[objlist.size()]);
Arrays.sort(objarray, cmp);
ballist = new ArrayList();
rowidlist = new ArrayList();
namelist = new ArrayList();
datelist = new ArrayList();
desclist = new ArrayList();
amountlist = new ArrayList();
statuslist = new ArrayList();
catimagelist = new ArrayList();
for (Insert ins1 : objarray) {
rowidlist.add(ins1.getRowid());
namelist.add(ins1.getName());
datelist.add(ins1.getDate());
desclist.add(ins1.getDesc());
amountlist.add(ins1.getAmount());
statuslist.add(ins1.getPaymentStatus());
catimagelist.add(ins1.getCatImage());
}
rowIdarray = (String[]) rowidlist.toArray(new String[rowidlist.size()]);
namearray = (String[]) namelist.toArray(new String[namelist.size()]);
datearray = (String[]) datelist.toArray(new String[datelist.size()]);
descarray = (String[]) desclist.toArray(new String[desclist.size()]);
statusarray = (String[]) statuslist.toArray(new String[statuslist.size()]);
catimagearray = (String[]) catimagelist.toArray(new String[catimagelist.size()]);
amountarray = (String[]) amountlist.toArray(new String[amountlist.size()]);
for (i = 0; i < amountarray.length; i++) {
pos = (amountarray.length - i) - 1;
if (!rowIdarray[pos].contains(DBAdaptTemp.EXPENSE_TABLE) || rowIdarray[pos].contains(“Transferfrom”) || rowIdarray[pos].contains(cxt.getResources().getString(R.string.expense)) || rowIdarray[pos].contains(new StringBuilder(String.valueOf(cxt.getResources().getString(R.string.transfer))).append(cxt.getResources().getString(R.string.from_account)).toString())) {
balance_tillenddate -= (double) Float.parseFloat(amountarray[pos].replace(",", “.”));
} else if (rowIdarray[pos].contains(DBAdaptTemp.INCOME_TABLE) || rowIdarray[pos].contains(“Transferto”) || rowIdarray[pos].contains(cxt.getResources().getString(R.string.income)) || rowIdarray[pos].contains(new StringBuilder(String.valueOf(cxt.getResources().getString(R.string.transfer))).append(cxt.getResources().getString(R.string.to_account)).toString())) {
balance_tillenddate += (double) Float.parseFloat(amountarray[pos].replace(",", “.”));
}
ballist.add(Double.valueOf(balance_tillenddate));
}
balarray = (Double[]) ballist.toArray(new Double[ballist.size()]);
Collections.reverse(Arrays.asList(balarray));
objlist.clear();
rowidlist.clear();
amountlist.clear();
ballist.clear();
if (cursor != null) {
cursor.close();
}
dBAdapt.close();
detailslist.add(new StringBuilder(String.valueOf(cxt.getResources().getString(R.string.closing_balance))).append(":").append(balance_tillenddate).toString());
for (i = 0; i < rowIdarray.length; i++) {
detailslist.add(rowIdarray[i] + “:” + namearray[i] + “:” + datearray[i] + “:” + descarray[i] + “:” + amountarray[i] + “:” + balarray[i] + “:” + statusarray[i] + “:” + catimagearray[i]);
}
detailslist.add(new StringBuilder(String.valueOf(cxt.getResources().getString(R.string.opening_balance))).append(":").append(balance_tillstartdate).toString());
return (String[]) detailslist.toArray(new String[detailslist.size()]);
}
do {
ins = new Insert();
ins.setRowid(new StringBuilder(String.valueOf(cursor.getString(0).toString())).append(",").append(cxt.getResources().getString(R.string.transfer)).append(cxt.getResources().getString(R.string.to_account)).toString());
ins.setName(cxt.getResources().getString(R.string.from_account));
ins.setAmount(cursor.getString(1).toString());
ins.setDate(cursor.getString(2).toString());
ins.setDesc(cursor.getString(3).toString());
ins.setPaymentStatus(cursor.getString(7).toString());
ins.setCatImage(“cate_transferin”);
objlist.add(ins);
} while (cursor.moveToNext());
objarray = objlist.toArray(new Object[objlist.size()]);
Arrays.sort(objarray, cmp);
ballist = new ArrayList();
rowidlist = new ArrayList();
namelist = new ArrayList();
datelist = new ArrayList();
desclist = new ArrayList();
amountlist = new ArrayList();
statuslist = new ArrayList();
catimagelist = new ArrayList();
for (Insert ins12 : objarray) {
rowidlist.add(ins12.getRowid());
namelist.add(ins12.getName());
datelist.add(ins12.getDate());
desclist.add(ins12.getDesc());
amountlist.add(ins12.getAmount());
statuslist.add(ins12.getPaymentStatus());
catimagelist.add(ins12.getCatImage());
}
rowIdarray = (String[]) rowidlist.toArray(new String[rowidlist.size()]);
namearray = (String[]) namelist.toArray(new String[namelist.size()]);
datearray = (String[]) datelist.toArray(new String[datelist.size()]);
descarray = (String[]) desclist.toArray(new String[desclist.size()]);
statusarray = (String[]) statuslist.toArray(new String[statuslist.size()]);
catimagearray = (String[]) catimagelist.toArray(new String[catimagelist.size()]);
amountarray = (String[]) amountlist.toArray(new String[amountlist.size()]);
for (i = 0; i < amountarray.length; i++) {
pos = (amountarray.length - i) - 1;
if (rowIdarray[pos].contains(DBAdaptTemp.EXPENSE_TABLE)) {
}
balance_tillenddate -= (double) Float.parseFloat(amountarray[pos].replace(",", “.”));
ballist.add(Double.valueOf(balance_tillenddate));
}
balarray = (Double[]) ballist.toArray(new Double[ballist.size()]);
Collections.reverse(Arrays.asList(balarray));
objlist.clear();
rowidlist.clear();
amountlist.clear();
ballist.clear();
if (cursor != null) {
cursor.close();
}
dBAdapt.close();
detailslist.add(new StringBuilder(String.valueOf(cxt.getResources().getString(R.string.closing_balance))).append(":").append(balance_tillenddate).toString());
for (i = 0; i < rowIdarray.length; i++) {
detailslist.add(rowIdarray[i] + “:” + namearray[i] + “:” + datearray[i] + “:” + descarray[i] + “:” + amountarray[i] + “:” + balarray[i] + “:” + statusarray[i] + “:” + catimagearray[i]);
}
detailslist.add(new StringBuilder(String.valueOf(cxt.getResources().getString(R.string.opening_balance))).append(":").append(balance_tillstartdate).toString());
return (String[]) detailslist.toArray(new String[detailslist.size()]);
}
do {
ins = new Insert();
ins.setRowid(new StringBuilder(String.valueOf(cursor.getString(0).toString())).append(",").append(cxt.getResources().getString(R.string.transfer)).append(cxt.getResources().getString(R.string.from_account)).toString());
ins.setName(cxt.getResources().getString(R.string.to_account));
ins.setAmount(cursor.getString(1).toString());
ins.setDate(cursor.getString(2).toString());
ins.setDesc(cursor.getString(3).toString());
ins.setPaymentStatus(cursor.getString(7).toString());
ins.setCatImage(“cate_transferout”);
objlist.add(ins);
} while (cursor.moveToNext());
objarray = objlist.toArray(new Object[objlist.size()]);
Arrays.sort(objarray, cmp);
ballist = new ArrayList();
rowidlist = new ArrayList();
namelist = new ArrayList();
datelist = new ArrayList();
desclist = new ArrayList();
amountlist = new ArrayList();
statuslist = new ArrayList();
catimagelist = new ArrayList();
for (Insert ins122 : objarray) {
rowidlist.add(ins122.getRowid());
namelist.add(ins122.getName());
datelist.add(ins122.getDate());
desclist.add(ins122.getDesc());
amountlist.add(ins122.getAmount());
statuslist.add(ins122.getPaymentStatus());
catimagelist.add(ins122.getCatImage());
}
rowIdarray = (String[]) rowidlist.toArray(new String[rowidlist.size()]);
namearray = (String[]) namelist.toArray(new String[namelist.size()]);
datearray = (String[]) datelist.toArray(new String[datelist.size()]);
descarray = (String[]) desclist.toArray(new String[desclist.size()]);
statusarray = (String[]) statuslist.toArray(new String[statuslist.size()]);
catimagearray = (String[]) catimagelist.toArray(new String[catimagelist.size()]);
amountarray = (String[]) amountlist.toArray(new String[amountlist.size()]);
for (i = 0; i < amountarray.length; i++) {
pos = (amountarray.length - i) - 1;
if (rowIdarray[pos].contains(DBAdaptTemp.EXPENSE_TABLE)) {
}
balance_tillenddate -= (double) Float.parseFloat(amountarray[pos].replace(",", “.”));
ballist.add(Double.valueOf(balance_tillenddate));
}
balarray = (Double[]) ballist.toArray(new Double[ballist.size()]);
Collections.reverse(Arrays.asList(balarray));
objlist.clear();
rowidlist.clear();
amountlist.clear();
ballist.clear();
if (cursor != null) {
cursor.close();
}
dBAdapt.close();
detailslist.add(new StringBuilder(String.valueOf(cxt.getResources().getString(R.string.closing_balance))).append(":").append(balance_tillenddate).toString());
for (i = 0; i < rowIdarray.length; i++) {
detailslist.add(rowIdarray[i] + “:” + namearray[i] + “:” + datearray[i] + “:” + descarray[i] + “:” + amountarray[i] + “:” + balarray[i] + “:” + statusarray[i] + “:” + catimagearray[i]);
}
detailslist.add(new StringBuilder(String.valueOf(cxt.getResources().getString(R.string.opening_balance))).append(":").append(balance_tillstartdate).toString());
return (String[]) detailslist.toArray(new String[detailslist.size()]);
}
do {
ins = new Insert();
ins.setRowid(new StringBuilder(String.valueOf(cursor.getString(0).toString())).append(",").append(cxt.getResources().getString(R.string.income)).toString());
ins.setName(cursor.getString(1).toString());
ins.setAmount(cursor.getString(2).toString());
ins.setDate(cursor.getString(3).toString());
ins.setPaymentStatus(cursor.getString(8).toString());
ins.setCatImage(cursor.getString(10).toString());
ins.setDesc(“Nill”);
objlist.add(ins);
} while (cursor.moveToNext());
objarray = objlist.toArray(new Object[objlist.size()]);
Arrays.sort(objarray, cmp);
ballist = new ArrayList();
rowidlist = new ArrayList();
namelist = new ArrayList();
datelist = new ArrayList();
desclist = new ArrayList();
amountlist = new ArrayList();
statuslist = new ArrayList();
catimagelist = new ArrayList();
for (Insert ins1222 : objarray) {
rowidlist.add(ins1222.getRowid());
namelist.add(ins1222.getName());
datelist.add(ins1222.getDate());
desclist.add(ins1222.getDesc());
amountlist.add(ins1222.getAmount());
statuslist.add(ins1222.getPaymentStatus());
catimagelist.add(ins1222.getCatImage());
}
rowIdarray = (String[]) rowidlist.toArray(new String[rowidlist.size()]);
namearray = (String[]) namelist.toArray(new String[namelist.size()]);
datearray = (String[]) datelist.toArray(new String[datelist.size()]);
descarray = (String[]) desclist.toArray(new String[desclist.size()]);
statusarray = (String[]) statuslist.toArray(new String[statuslist.size()]);
catimagearray = (String[]) catimagelist.toArray(new String[catimagelist.size()]);
amountarray = (String[]) amountlist.toArray(new String[amountlist.size()]);
for (i = 0; i < amountarray.length; i++) {
pos = (amountarray.length - i) - 1;
if (rowIdarray[pos].contains(DBAdaptTemp.EXPENSE_TABLE)) {
}
balance_tillenddate -= (double) Float.parseFloat(amountarray[pos].replace(",", “.”));
ballist.add(Double.valueOf(balance_tillenddate));
}
balarray = (Double[]) ballist.toArray(new Double[ballist.size()]);
Collections.reverse(Arrays.asList(balarray));
objlist.clear();
rowidlist.clear();
amountlist.clear();
ballist.clear();
if (cursor != null) {
cursor.close();
}
dBAdapt.close();
detailslist.add(new StringBuilder(String.valueOf(cxt.getResources().getString(R.string.closing_balance))).append(":").append(balance_tillenddate).toString());
for (i = 0; i < rowIdarray.length; i++) {
detailslist.add(rowIdarray[i] + “:” + namearray[i] + “:” + datearray[i] + “:” + descarray[i] + “:” + amountarray[i] + “:” + balarray[i] + “:” + statusarray[i] + “:” + catimagearray[i]);
}
detailslist.add(new StringBuilder(String.valueOf(cxt.getResources().getString(R.string.opening_balance))).append(":").append(balance_tillstartdate).toString());
return (String[]) detailslist.toArray(new String[detailslist.size()]);
}
do {
ins = new Insert();
ins.setRowid(new StringBuilder(String.valueOf(cursor.getString(0).toString())).append(",").append(cxt.getResources().getString(R.string.expense)).toString());
ins.setName(cursor.getString(1).toString());
ins.setAmount(cursor.getString(2).toString());
ins.setDate(cursor.getString(3).toString());
ins.setPaymentStatus(cursor.getString(8).toString());
ins.setCatImage(cursor.getString(10).toString());
ins.setDesc(“Nill”);
objlist.add(ins);
} while (cursor.moveToNext());
objarray = objlist.toArray(new Object[objlist.size()]);
Arrays.sort(objarray, cmp);
ballist = new ArrayList();
rowidlist = new ArrayList();
namelist = new ArrayList();
datelist = new ArrayList();
desclist = new ArrayList();
amountlist = new ArrayList();
statuslist = new ArrayList();
catimagelist = new ArrayList();
for (Insert ins12222 : objarray) {
rowidlist.add(ins12222.getRowid());
namelist.add(ins12222.getName());
datelist.add(ins12222.getDate());
desclist.add(ins12222.getDesc());
amountlist.add(ins12222.getAmount());
statuslist.add(ins12222.getPaymentStatus());
catimagelist.add(ins12222.getCatImage());
}
rowIdarray = (String[]) rowidlist.toArray(new String[rowidlist.size()]);
namearray = (String[]) namelist.toArray(new String[namelist.size()]);
datearray = (String[]) datelist.toArray(new String[datelist.size()]);
descarray = (String[]) desclist.toArray(new String[desclist.size()]);
statusarray = (String[]) statuslist.toArray(new String[statuslist.size()]);
catimagearray = (String[]) catimagelist.toArray(new String[catimagelist.size()]);
amountarray = (String[]) amountlist.toArray(new String[amountlist.size()]);
for (i = 0; i < amountarray.length; i++) {
pos = (amountarray.length - i) - 1;
if (rowIdarray[pos].contains(DBAdaptTemp.EXPENSE_TABLE)) {
}
balance_tillenddate -= (double) Float.parseFloat(amountarray[pos].replace(",", “.”));
ballist.add(Double.valueOf(balance_tillenddate));
}
balarray = (Double[]) ballist.toArray(new Double[ballist.size()]);
Collections.reverse(Arrays.asList(balarray));
objlist.clear();
rowidlist.clear();
amountlist.clear();
ballist.clear();
if (cursor != null) {
cursor.close();
}
dBAdapt.close();
detailslist.add(new StringBuilder(String.valueOf(cxt.getResources().getString(R.string.closing_balance))).append(":").append(balance_tillenddate).toString());
for (i = 0; i < rowIdarray.length; i++) {
detailslist.add(rowIdarray[i] + “:” + namearray[i] + “:” + datearray[i] + “:” + descarray[i] + “:” + amountarray[i] + “:” + balarray[i] + “:” + statusarray[i] + “:” + catimagearray[i]);
}
detailslist.add(new StringBuilder(String.valueOf(cxt.getResources().getString(R.string.opening_balance))).append(":").append(balance_tillstartdate).toString());
return (String[]) detailslist.toArray(new String[detailslist.size()]);
}

Esta é minha classe Insert

class Insert {
private String account;
private String amount;
private String category;
private String catimage;
private String date;
private String desc;
private String name;
private String notes;
private String payee;
private String paymentmethod;
private String paymentstatus;
private String rowid;
private String stat_catamount;
private int stat_catintamount;
private String stat_catname;
private String subCategory;
private String tags;

public String getRowid() {
    return this.rowid;
}

public void setRowid(String rowid) {
    this.rowid = rowid;
}

public String getName() {
    return this.name;
}

public void setName(String name) {
    this.name = name;
}

public String getAmount() {
    return this.amount;
}

public void setAmount(String amount) {
    this.amount = amount;
}

public String getDate() {
    return this.date;
}

public void setDate(String date) {
    this.date = date;
}

public String getDesc() {
    return this.desc;
}

public void setDesc(String desc) {
    this.desc = desc;
}

public String getStatCatName() {
    return this.stat_catname;
}

public void setStatCatName(String catname) {
    this.stat_catname = catname;
}

public String getCatImage() {
    return this.catimage;
}

public void setCatImage(String catimage) {
    this.catimage = catimage;
}

public String getNotes() {
    return this.notes;
}

public void setNotes(String notes) {
    this.notes = notes;
}

public String getStatCatAmount() {
    return this.stat_catamount;
}

public void setStatAmount(String amount) {
    this.stat_catamount = amount;
}

public int getStatIntAmount() {
    return this.stat_catintamount;
}

public void setStatIntAmount(int intamount) {
    this.stat_catintamount = intamount;
}

public String getPaymentStatus() {
    return this.paymentstatus;
}

public void setPaymentStatus(String status) {
    this.paymentstatus = status;
}

public String getTags() {
    return this.tags;
}

public void setTags(String tags) {
    this.tags = tags;
}

public String getsubCategory() {
    return this.subCategory;
}

public void setsubCategory(String subCategory) {
    this.subCategory = subCategory;
}

public String getPaymetMethod() {
    return this.paymentmethod;
}

public void setPaymetMethod(String method) {
    this.paymentmethod = method;
}

public String getAccount() {
    return this.account;
}

public void setAccount(String account) {
    this.account = account;
}

public String getcategory() {
    return this.category;
}

public void setcategory(String category) {
    this.category = category;
}

public String getPayee() {
    return this.payee;
}

public void setPayee(String payee) {
    this.payee = payee;
}

}

Inviável ler seu fonte dessa forma…
Usa o botão de texto pré-formatado </> ao postar código no fórum.

Algum motivo especial para não utilizar generics no seu código?

Seu método getAccountDetailsBetweenDates tem quase 400 linhas, isso não se faz, dá uma refatorada e quebra ele em métodos (ou classes) menores.
Um método, para permanecer legível, não deveria passar de 20 linhas.

Eu sou novo Aki no fórum ainda não sei utilizar as ferramentas direito. Obrigado pelas dicas vou tentar da enxugada no código e utilizar o generics.