zoukankan      html  css  js  c++  java
  • 实现TableLayout布局下循环取出TableRow控件中的文字内容到list集合

    布局方式为TableLayout,利于实现表单样式展现。

    <!-- 详情内容区域 -->
        <ScrollView
            android:layout_above="@id/id_buttom_layout"
            android:layout_below="@id/home_title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:scrollbars="vertical"
            >
               
            <TableLayout
                android:id="@+id/id_logTableRow"
                style="@style/table"
                android:layout_marginBottom="10dip"
                android:showDividers="middle">
                
                <TableRow
                    style="@style/tablelayout"
                     >
                    
                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:paddingLeft="10dip"
                        android:gravity="right"
                        android:text="工单编号:" 
                        android:textSize="@dimen/normal_text_size"
                        />
                     <TextView
                        android:id="@+id/id_docNumber"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:paddingLeft="10dip"
                        android:paddingRight="10dip"
                        android:gravity="left"
                        android:textSize="@dimen/normal_text_size"
                        android:textColor="@color/balck"
                        />
                </TableRow>
                
                <TableRow 
                    style="@style/tablelayout" >
                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:paddingLeft="10dip"
                        android:gravity="right"
                        android:text="处&#160;&#160;理&#160;&#160;人:" 
                        android:textSize="@dimen/normal_text_size"
                        />
                    <TextView
                        android:id="@+id/id_logSolver"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:paddingLeft="10dip"
                        android:paddingRight="10dip"
                        android:gravity="left"
                        android:textSize="@dimen/normal_text_size"
                        android:textColor="@color/balck"
                        />
                </TableRow>
                
                <TableRow
                    style="@style/tablelayout" >
                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:paddingLeft="10dip"                    
                        android:gravity="right"
                        android:text="项目名称:" 
                        android:textSize="@dimen/normal_text_size"
                        />
                    <com.hxzk.ydbg.utils.views.SpinnerView
                        android:id="@+id/id_projectName"
                        android:layout_width="match_parent"
                        android:layout_height="42dp"
                        android:background="@drawable/edittext_bg_drawable"
                        android:layout_gravity="center_vertical"
                        android:textSize="@dimen/normal_text_size"
                        android:gravity="center"
                        />
                </TableRow>
                
                <TableRow
                    style="@style/tablelayout" >
                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:paddingLeft="10dip"
                        android:gravity="right"
                        android:text="负&#160;&#160;责&#160;&#160;人:" 
                        android:textSize="@dimen/normal_text_size"
                        />
                    <TextView
                        android:id="@+id/id_projectLeader"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:paddingLeft="10dip"
                        android:paddingRight="10dip"
                        android:gravity="left"
                        android:textSize="@dimen/normal_text_size"
                        android:textColor="@color/balck"
                        />
                </TableRow>
                
                <TableRow
                    style="@style/tablelayout"
                     >
                    
                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:paddingLeft="10dip"
                        android:gravity="right"
                        android:text="客户地址:" 
                        android:textSize="@dimen/normal_text_size"
                        />
                     <TextView
                        android:id="@+id/id_projectAddress"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:paddingLeft="10dip"
                        android:paddingRight="10dip"
                        android:gravity="left"
                        android:textSize="@dimen/normal_text_size"
                        android:textColor="@color/balck"
                        />
                </TableRow>
                
                <TableRow
                    style="@style/tablelayout" >
                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:paddingLeft="10dip"
                        android:gravity="right"
                        android:text="需求类型:" 
                        android:textSize="@dimen/normal_text_size"
                        />
                    <com.hxzk.ydbg.utils.views.SpinnerView
                        android:id="@+id/id_logType"
                        android:layout_width="match_parent"
                        android:layout_height="42dp"
                        android:background="@drawable/edittext_bg_drawable"
                        android:layout_gravity="center_vertical"
                        android:textSize="@dimen/normal_text_size"
                        android:gravity="center"
                        />
                </TableRow>
                
                <TableRow 
                    style="@style/tablelayout">
                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:paddingLeft="10dip"
                        android:gravity="right"
                        android:text="需求描述:" 
                        android:textSize="@dimen/normal_text_size"
                        />
                    <EditText
                        android:id="@+id/id_logDepict"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:hint="请填写需求的简单描述"
                        android:textSize="18sp"
                        android:inputType="textMultiLine"
                        android:minLines="3"
                        android:maxLines="100"
                        android:gravity="top"
                           android:background="@drawable/edittext_bg_drawable"
                        />
                </TableRow>
                
                <TableRow 
                    style="@style/tablelayout" >
                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:paddingLeft="10dip"
                        android:gravity="right"
                        android:text="处理结果:" 
                        android:textSize="@dimen/normal_text_size"
                        />
                    
                    <EditText
                        android:id="@+id/id_logResult"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:hint="请填写需求的处理结果"
                        android:textSize="18sp"
                        android:inputType="textMultiLine"
                        android:minLines="5"
                        android:maxLines="100"
                        android:gravity="top"
                           android:background="@drawable/edittext_bg_drawable"
                        />
                </TableRow>
                
                <TableRow 
                    style="@style/tablelayout" >
                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:paddingLeft="10dip"
                        android:gravity="right"
                        android:text="创建时间:" 
                        android:textSize="@dimen/normal_text_size"
                        />
                    <TextView
                        android:id="@+id/id_logCreateTime"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:paddingLeft="10dip"
                        android:paddingRight="10dip"
                        android:gravity="left"
                        android:textSize="@dimen/normal_text_size"
                        android:textColor="@color/balck"
                        />
                </TableRow>
                
                
                <TableRow 
                    style="@style/tablelayout" >
                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:paddingLeft="10dip"
                        android:gravity="right"
                        android:text="处理时间:" 
                        android:textSize="@dimen/normal_text_size"
                        />
                    <TextView
                        android:id="@+id/id_logSolveTime"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:paddingLeft="10dip"
                        android:paddingRight="10dip"
                        android:gravity="left"
                        android:textSize="@dimen/normal_text_size"
                        android:textColor="@color/balck"
                        />
                </TableRow>
                
                <TableRow 
                    style="@style/tablelayout" >
                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:paddingLeft="10dip"
                        android:gravity="right"
                        android:text="客户签字&#160;
    时&#160;&#160;&#8201;&#160;&#160;&#8201;&#160;&#160;&#8201;间:" 
                        android:textSize="@dimen/normal_text_size"
                        />
                    <TextView
                        android:id="@+id/id_signTime"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:paddingLeft="10dip"
                        android:paddingRight="10dip"
                        android:gravity="left"
                        android:textSize="@dimen/normal_text_size"
                        android:textColor="@color/balck"
                        />
                </TableRow>
                
               
                
                
            </TableLayout>
        </ScrollView>
    tablelayout

    在Java代码中通过getChildCount、getChildAt获取tablelayout布局下的tablerow,然后再通过getChildCount、getChildAt获取tablerow下的子控件,最后通过instanceof校验对象类型并调用对应的方法获取文本。

    /**表单区域*/
    private TableLayout id_logTableRow;
    
    private ArrayList<String> titleList;

    初始化:

    id_logTableRow = (TableLayout) initview.findViewById(R.id.id_logTableRow);
    titleList = new ArrayList<String>();
            TableRow[] childs = new TableRow[id_logTableRow.getChildCount()];
            for(int i=0;i<childs.length;i++){
                childs[i] = (TableRow) id_logTableRow.getChildAt(i);
                View[] childss = new View[childs[i].getChildCount()];
                childss[0] = childs[i].getChildAt(0);
                childss[1] = childs[i].getChildAt(1);
                
                String labelStr = ((TextView)childss[0]).getText().toString();//每一行的左侧标签
                String infoStr = "";
                /**
                 * 校验对象类型,然后再进行强类型转换,以便获取控件中的文本*/
                if(childss[1] instanceof TextView){
                    infoStr = ((TextView)childss[1]).getText().toString();//每一行的左侧标签
                }else if(childss[1] instanceof SpinnerView){
                    infoStr = ((SpinnerView)childss[1]).getText().toString();//每一行的左侧标签
                }
                else if(childss[1] instanceof EditText){
                    infoStr = ((EditText)childss[1]).getText().toString();//每一行的左侧标签
                }else{
                    infoStr = " ";
                }
                
                titleList.add(labelStr + infoStr);
            }
            

    打印结果:

    for(int i=0;i<titleList.size();i++){
                Log.v("WriteLogInfoWordFragment", (i+1) + ":" + titleList.get(i));
            }

  • 相关阅读:
    变Enter键为Tab键 实现焦点转移
    .net事务使用实例
    C#多线程编程(1):线程的启动
    Sql中try{} catch{}实例
    winform刷新父窗体
    Sql批量删除/插入
    IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT的辨析
    C#多线程编程(2):线程的同步
    Sql Server 网络备份
    SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等
  • 原文地址:https://www.cnblogs.com/whycxb/p/5063328.html
Copyright © 2011-2022 走看看