如何从arraylist中填充其他活动中的gridview

时间:2014-04-07 15:11:50

标签: android

包含我需要在GridView中显示的Amortization值的ArrayList

   ArrayList<ValorMensual> lst = new ArrayList<ValorMensual>();
    for(int i=0;i<inNumeroPagos ;i++)
    {
        ValorMensual obValorMensual = getSaldoCapital(saldoCapital,dTasaInteres,inNumeroPagos,pagoMensual);
        obValorMensual.setNumeroPago(i);
        saldoCapital = obValorMensual.getSaldoMensual();
        lst.add(obValorMensual); 
    }

for(ValorMensual ob:lst)
    {
    int mes = ob.getNumeroPago()+1;
        Log.d("Amortizacion","Numero pago del mes: "+mes);
        Log.d("Amortizacion","Pago Interes Mensual: "+df.format(ob.getInteresesMensual()));
        Log.d("Amortizacion","Pago Capital Mensual: "+df.format(ob.getPagoCapitalMensual()));
        Log.d("Amortizacion","Saldo Mensual: "+df.format(ob.getSaldoMensual()));
    }
    //Creat intent to call next activity
    Intent i = new Intent(this, ResultadoActivity.class);
    i.putExtra("tvwPagoMensual", df.format(pagoMensual));
    //Ejecutamos la actividad para que muestre la segunda actividad
    startActivity(i);

按月生成Amortazation结果的函数

    private ValorMensual getSaldoCapital(double dMonto, double dTasaInteres, int inNumeroPagos, double pagoCapitalTotal)
{
    double intereses = dTasaInteres/12;
    double p1 = dMonto * (intereses/100);
    double pagoCapitalMensual = pagoCapitalTotal - p1;
    double saldoMensual = dMonto - pagoCapitalMensual;

    ValorMensual obValorMensual = new ValorMensual();
    obValorMensual.setInteresesMensual(p1);
    obValorMensual.setPagoCapitalTotal(pagoCapitalTotal);
    obValorMensual.setPagoCapitalMensual(pagoCapitalMensual);
    obValorMensual.setSaldoMensual(saldoMensual);

    return obValorMensual;  
}

Class ValorMensual

public class ValorMensual {

private double pagoCapitalMensual;
private double interesesMensual;
private double saldoMensual;
private double pagoCapitalTotal;
private int numeroPago;

public double getPagoCapitalMensual() {
    return pagoCapitalMensual;
}
public void setPagoCapitalMensual(double pagoCapitalMensual) {
    this.pagoCapitalMensual = pagoCapitalMensual;
}
public double getInteresesMensual() {
    return interesesMensual;
}
public void setInteresesMensual(double interesesMensual) {
    this.interesesMensual = interesesMensual;
}
public double getSaldoMensual() {
    return saldoMensual;
}
public void setSaldoMensual(double saldoMensual) {
    this.saldoMensual = saldoMensual;
}
public double getPagoCapitalTotal() {
    return pagoCapitalTotal;
}
public void setPagoCapitalTotal(double pagoCapitalTotal) {
    this.pagoCapitalTotal = pagoCapitalTotal;
}
public int getNumeroPago() {
    return numeroPago;
}
public void setNumeroPago(int numeroPago) {
    this.numeroPago = numeroPago;
}

}

最后我希望显示结果的活动

 public class ResultadoActivity extends Activity {
private  TextView tvPagoMensual;
public static List<ValorMensual> gridView;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.resultado);//Mostramos el layout resultado.xml
    tvPagoMensual = (TextView)findViewById(R.id.tvwPagoMensual);
    String stPagoMensual = getIntent().getStringExtra("tvwPagoMensual");
    tvPagoMensual.setText("Pago Mensual: "+stPagoMensual);
}

我需要在活动ResultadoActivity

中显示GridView中ArrayList中的内容

1 个答案:

答案 0 :(得分:0)

您是否尝试将ArrayList或单个对象传递给intent以及其他活动以获取它?您也可以传递对象,但它们必须是可序列化的。

Intent i = new Intent(this, ResultadoActivity.class);
i.putExtra("object1", lst.get(0));

如果事先不知道元素的数量,则传递整个数组列表。

此致 Lubos