在我的Android
应用中,我正在使用JSON
从服务器检索数据。为了显示该数据,我使用的是具有3个静态图像和两个ListView
的自定义TextViews
。数据以ListView
显示,但方式不同。
我希望输出像this图片。
但是我的输出列表有所不同,有时这些数字会从列表中丢失。
在104之后,数字105和106丢失,然后缺少110。我不知道为什么输出是这样的。以下是我的xml
布局代码:
XML代码
<?xml version="1.0" encoding="utf-8"?>
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:stretchColumns="0,1,2"
android:shrinkColumns="1"
android:layout_marginLeft="10dp">
<TableRow
android:layout_width="match_parent">
<TextView
android:id="@+id/SrNo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="5dp"
android:text="SR NO."
android:textColor="#000000"
android:singleLine="true"
android:layout_marginTop="10dp"/>
<TextView
android:id="@+id/Name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Expert Name Here."
android:textColor="#000000"
android:paddingBottom="5dp"
android:gravity="center"
android:layout_marginTop="10dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right">
<ImageView
android:id="@+id/edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/ic_menu_view"
android:paddingBottom="5dp"
android:layout_marginTop="5dp"/>
<ImageView
android:id="@+id/view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/ic_menu_edit"
android:paddingBottom="5dp"
android:layout_marginTop="5dp"/>
<ImageView
android:id="@+id/delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/ic_menu_delete"
android:paddingBottom="5dp"
android:layout_marginTop="5dp"/>
</LinearLayout>
</TableRow>
</TableLayout>
答案 0 :(得分:1)
你在与@Sangeeta的讨论中几乎一直在那里。
由于TableRow
继承自LinearLayout
,weight
的概念也适用于此,因此必须将layout_width
属性设置为0dp
为了使视图水平扩展。
以下内容需要更改:
android:stretchColumns="0,1,2"
android:layout_width="0dp"
属性的地方设置layout_weight
。(注意:我只留下了问题的相关属性)
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:shrinkColumns="1">
<TableRow
android:layout_width="match_parent">
<TextView
android:id="@+id/SrNo"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.25"/>
<TextView
android:id="@+id/Name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.25">
<ImageView
android:id="@+id/edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<ImageView
android:id="@+id/view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<ImageView
android:id="@+id/delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
</TableRow>
</TableLayout>