动态构建Activity类之外的表

时间:2015-04-21 13:01:20

标签: java android

我使用以下代码通过构造函数将活动传递到非活动类,我计划动态构建表。

MyClass instance = new MyClass(this);

public class MyClass {
    public Activity activity;

    public MyClass(Activity _activity){
        this.activity = _activity;
    }
}​

此代码似乎有效,但以下代码无法解析setId,setBackgroundColor,Color和setLayoutParams的符号。如何使用它在我的班级中构建我的表并解决有问题的符号?

TableRow tr_head = new TableRow(this);
tr_head.setId(10);
tr_head.setBackgroundColor(Color.GRAY);
tr_head.setLayoutParams(new LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));​

1 个答案:

答案 0 :(得分:0)

setId()需要Id类型的资源。它不会使用整数值。关于类型资源的详细信息' id'可在以下链接中找到:http://developer.android.com/guide/topics/resources/more-resources.html#Id

我创建了一个测试类

public class TestClass {

public void test(Activity activity) {
    TableRow tr_head = new TableRow(activity);
    tr_head.setId(R.id.inputString); //Add an id here
    tr_head.setBackgroundColor(Color.GRAY);
    tr_head.setLayoutParams(new TableLayout.LayoutParams(
            TableRow.LayoutParams.MATCH_PARENT,
            TableRow.LayoutParams.WRAP_CONTENT));
    activity.setContentView(tr_head);

}}

然后在我的活动'onCreate'中,我打电话给

new TestClass().test(this);