Tablelay在调用subintent之后输出内部TableRows

时间:2011-12-28 05:29:00

标签: android android-layout tablelayout xoom

我有一个包含很多字段的表单。在调用新的Intent(摄像机)并返回主活动后,所有字段都被填充。好。

但是tablelayout丢失了内部的TableRows。为什么?有没有办法保留桌面?

tableMaterialObra = (TableLayout)findViewById(R.id.tlMaterialObra);
TableRow tr = new TableRow(this);
CheckBox cb = new CheckBox(this);
tr.addView(cb);
tableMaterialObra.addView(tr);

1 个答案:

答案 0 :(得分:0)

如果在oncreate()方法中创建TableLayout并且在onResume()方法中没有执行任何操作,那么该行都不会丢失

SampleCode

import java.util.ArrayList;

import android.app.ActivityGroup;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.CheckBox;
import android.widget.LinearLayout;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;

public class RelativeLayoutTesting extends ActivityGroup implements OnClickListener{
    TextView choosenGroup;
    android.widget.RelativeLayout currentView = null;
    ArrayList<String> logpoint = null;
    TableLayout tableMaterialObra;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate( savedInstanceState );


        // set the relative layout as our view 
        setContentView(R.layout.my_table);
        tableMaterialObra = (TableLayout)findViewById(R.id.my_table);
        TableRow tr = new TableRow(this);
        tr.setBackgroundColor(Color.WHITE);
        CheckBox cb = new CheckBox(this);
        tr.addView(cb);
        tableMaterialObra.addView(tr);
        LinearLayout myLayout = (LinearLayout) findViewById(R.id.my_layout);
        myLayout.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        startActivity(new Intent(RelativeLayoutTesting.this, com.sunil.MyListView.class));
    }

}