0

我有一个自定义布局 java 文件,我创建并添加视图如下:

 PredicateLayout layout = new PredicateLayout(this);

    for (int i = 0; i < someNumberThatChangesEveryTime; i++) 
    {            
        TextView t = new TextView(this);
        t.setText("Hello");
        t.setBackgroundColor(Color.RED);
        t.setSingleLine(true);
       layout.addView(t, new PredicateLayout.LayoutParams(2, 0));
    }
 setContentView(layout);

我想做的是在 xml 中定义我的 TextView,所以我可以像这样添加它:

TextView t = (TextView) findViewById(R.id.textview);

当然,还可以添加其他类型的视图。我不知道如何编写这个 xml 文件,或者如何将它连接到这个活动。我正在使用的布局是这样的:Android 的换行小部件布局

4

1 回答 1

1

在 xml 中找到根布局的 id,并以编程方式将其他 ui 元素添加到根布局。

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
andorid:id="@+id/ll
tools:context=".MainActivity" >

<TextView
    android:id="@+id/tv"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginTop="20dp"
    android:text="Blank text" />
 </RelativeLayout>

你的 MainActivity

 public class MainActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
           RelativeLayout ll = (RelativeLayout) findViewById(R.id.ll);
            TextView tv= (TextView) findViewById(R.id.tv);
            // add other ui elements to the root layout ie Relative layout  


     }
    }
于 2013-04-22T09:05:04.367 回答