繁体   English   中英

从类创建TableLayout

[英]Creating TableLayout From Class

我创建这篇文章,是因为我是新来的,我需要一点帮助。 我正在做一些关于您的应用程序的练习,您可以使用一些值从类中进行表布局。 但是,当我按下按钮后,出现错误“指定的孩子已经有一个父母。您必须首先在该孩子的父母上调用removeView()”。

public class TabelFlat extends Activity{
    //deklarasi variabel
    String jumlah,jasa,jangkawaktu;
    int jum = 0, jsa = 0, jkwaktu = 0;
    int a = 0, b = 0, c = 0, d = 0, i = 0;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Bundle extras = getIntent().getExtras();

        //mengambil value yg diimport dari class lain
        if (extras != null) {
            jumlah = extras.getString("jumlah");
            jasa = extras.getString("jasa");
            jangkawaktu = extras.getString("jangkawaktu");
    }
        //konversi string menjadi int
        jum = Integer.parseInt(jumlah);
        jsa = Integer.parseInt(jasa);
        jkwaktu = Integer.parseInt(jangkawaktu);

        //membuat tabel
        TableLayout MainLayout = new TableLayout(this);
        MainLayout.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, TableRow.LayoutParams.FILL_PARENT));
        MainLayout.setStretchAllColumns(true);

        //Baris Judul
        TableRow row1 = new TableRow(this);
        TextView text1 = new TextView(this);
        text1.setText("Bulan");
        TextView text2 = new TextView(this);
        text2.setText("Total Angsuran");
        TextView text3 = new TextView(this);
        text2.setText("Angsuran");
        TextView text4 = new TextView(this);
        text2.setText("Bunga");
        TextView text5 = new TextView(this);
        text2.setText("Sisa Saldo");
        text2.setGravity(android.view.Gravity.RIGHT);
        //memasukkan nilai text ke row
        row1.addView(text1);
        row1.addView(text2);
        row1.addView(text3);
        row1.addView(text4);
        row1.addView(text5);
        //menambah row ke tabel
        MainLayout.addView(row1);
        //kalkulasi
        TextView tangsuran = new TextView(this);
        a = (jum * 120/100);
        tangsuran.setText(""+String.valueOf(a));

        TextView angsuran = new TextView(this);
        b = jum / jkwaktu;
        angsuran.setText(""+String.valueOf(b));

        TextView bunga = new TextView(this);
        c = jum * 20 / 100 / jkwaktu;
        bunga.setText(""+String.valueOf(c));
        //loop

        d = jum;
        for (i = 1;i<=jkwaktu;i++){

            TableRow barisloop = new TableRow(this);
            //membuat string kosong untuk setiap kolom 
            TextView bulan = new TextView(this);
            bulan.setText(""+i);
            TextView sisa = new TextView(this);
            d = d - b;
            sisa.setText(""+String.valueOf(d));

            barisloop.addView(bulan);
            barisloop.addView(tangsuran);
            barisloop.addView(angsuran);
            barisloop.addView(bunga);
            barisloop.addView(sisa);

            MainLayout.addView(barisloop);
        }

        setContentView(MainLayout);
    }
}

在这里,您将tangsuranangsuranbunga文本视图添加到新行,但它们已经添加到另一行中。您必须为循环中的行创建新对象。

for (i = 1;i<=jkwaktu;i++){

        TableRow barisloop = new TableRow(this);
        //membuat string kosong untuk setiap kolom 
        TextView bulan = new TextView(this);
        bulan.setText(""+i);
        TextView sisa = new TextView(this);
        d = d - b;
        sisa.setText(""+String.valueOf(d));

        barisloop.addView(bulan);
        //barisloop.addView(tangsuran);
        //barisloop.addView(angsuran);  CREATE NEW TEXTVIEWS
        //barisloop.addView(bunga);
        barisloop.addView(sisa);

        MainLayout.addView(barisloop);
    } 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM