布局方式为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="处 理 人:" 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="负 责 人:" 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="客户签字 \n时 间:" 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)); }
时间: 2024-10-27 19:43:15