添加视图到静态布局

时间:2012-01-17 11:17:19

标签: android dynamic view

我是第一天的Android程序员,这是我的问题:在我的应用程序中,我有一个使用静态布局的支持活动;我在onCreate方法中的活动收到一个数据列表 - 我应该如何将这些数据嵌入到我现有的布局中?

到目前为止,我已经尝试过这段代码,但它没有显示任何内容,尽管没有例外且元素很少,因此循环工作:

活动类:

    try {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.results);

        LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        View v = inflater.inflate(R.layout.results, null);
        // Find the ScrollView 
        LinearLayout sv = (LinearLayout) v.findViewById(R.id.lMain);

       // getting data here
       for (int i = 0; i < recipesList.getId().size(); i++) {
           LinearLayout ll = new LinearLayout(this);
       ll.setOrientation(LinearLayout.VERTICAL);

       // Add text
       TextView tv = new TextView(this);
       tv.setText("abc");
       ll.addView(tv);

       sv.addView(ll);
   }

results.xml

    <?xml version="1.0" encoding="utf-8"?>
    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/scroller"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:fillViewport="true">

        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="vertical"
        android:id="@+id/lMain" >

        </LinearLayout>
    </ScrollView>

1 个答案:

答案 0 :(得分:0)

你的做法是错误的。你必须这样做。

try
{        
super.onCreate(savedInstanceState);         
setContentView(R.layout.results);          
LinearLayout sv = (LinearLayout) findViewById(R.id.lMain); 
// getting data here       
  for (int i = 0; i < recipesList.getId().size(); i++) 
  {    
    // Add text        
    TextView tv = new TextView(this);        
    tv.setText("abc");        
    sv .addView(tv);           
   } 
}