phosphorwqm 2012-01-06 19:16
浏览 393
已采纳

Android listview下面嵌套一个TableLayout问题?

UI的XML代码:main.xml

 <?xml version="1.0" encoding="utf-8"?>  

 <LinearLayout  

     android:id="@+id/LinearLayout01"  

     android:layout_width="fill_parent"  

     android:layout_height="fill_parent"  

     xmlns:android="http://schemas.android.com/apk/res/android">  

        

     <ListView android:layout_width="wrap_content"  

               android:layout_height="wrap_content"  

               android:id="@+id/MyListView">  

     </ListView>  

 </LinearLayout> 

   

 my_listitem.xml的代码如下,my_listitem.xml用于设计ListView的Item 

   

  <?xml version="1.0" encoding="utf-8"?>   

 <LinearLayout   

     android:layout_width="fill_parent"   

     xmlns:android="http://schemas.android.com/apk/res/android"   

     android:orientation="vertical"  

     android:layout_height="wrap_content"   

     android:id="@+id/MyListItem"   

     android:paddingBottom="3dip"   

     android:paddingLeft="10dip">   

     <TextView   

             android:layout_height="wrap_content"   

             android:layout_width="fill_parent"   

             android:id="@+id/ItemTitle"   

             android:textSize="30dip">   

     </TextView>   

     <TextView   

             android:layout_height="wrap_content"   

             android:layout_width="fill_parent"   

             android:id="@+id/ItemText">   

     </TextView>   

   

     <TableLayout 

         android:id="@+id/tl"

         android:layout_width="fill_parent"

         android:layout_height="wrap_content"

         android:stretchColumns="0,1"> 

     <TableRow> 

         <TextView 

             android:layout_height="wrap_content"

             android:text="a1"/> 

         <TextView 

             android:layout_height="wrap_content"

             android:text="a2"/> 

     </TableRow> 

     <TableRow> 

         <TextView 

             android:id="@+id/a1"

             android:layout_height="wrap_content"/> 

         <TextView 

             android:id="@+id/a2"

             android:layout_height="wrap_content"/> 

     </TableRow> 

    </TableLayout> 

 </LinearLayout>


如果没有TableLayout的情况下是这样的循环的:

 

 public void onCreate(Bundle savedInstanceState) {   

     super.onCreate(savedInstanceState);   

     setContentView(R.layout.main);   

     //绑定XML中的ListView,作为Item的容器   

     ListView list = (ListView) findViewById(R.id.MyListView);   

     ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();   

     for(int i=0;i<30;i++)  {   

         HashMap<String, String> map = new HashMap<String, String>();   

         map.put("ItemTitle", "This is Titl");   

         map.put("ItemText", "This is text");   

         mylist.add(map);   

     }   

     SimpleAdapter mSchedule = new SimpleAdapter(this,    

         mylist, 

         R.layout.my_listitem,        

         new String[] {"ItemTitle", "ItemText"},  

         new int[] {R.id.ItemTitle,R.id.ItemText});   

     list.setAdapter(mSchedule);   

 }

 

问题:这个listview下面的TableLayout的数据我是从数据库取出来循环显示的,那么我怎么写呢?

 

  • 写回答

6条回答 默认 最新

  • xxxxxxxxxxxxxxxxx 2012-01-06 20:52
    关注

    TableLayout container_table = (TableLayout )findViewById(R.id.tl);

    container_table.clearxxxxx;

    TabRow header = new TabRow(...)

    TextView column_1 = new TextView();
    column_1.setText("column_1");

    header.add(column_1);

    TextView column_2 = new TextView();
    column_2.setText("column_2");

    header.add(column_2);
    container_table.add(header);

    for(Item: List) {
    TabRow row = new TabRow();
    如上。。。。

    container_table.add(row);
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥50 关于#html5#的问题:H5页面用户手机返回的时候跳转到指定页面例如(语言-javascript)
  • ¥15 无法使用此凭据登录,因为你的域不可用,如何解决?(标签-Windows)
  • ¥15 yolov9的训练时间
  • ¥15 二叉树遍历没有报错但无法正常运行
  • ¥15 在linux系统下vscode运行robocup3d上场球员报错
  • ¥15 Python语言实验
  • ¥15 SAP HANA SQL 增加合计行
  • ¥20 用C#语言解决一个英文打字练习器,有偿
  • ¥15 srs-sip外部服务 webrtc支持H265格式
  • ¥15 在使用abaqus软件中,继承到assembly里的surfaces怎么使用python批量调动