Reputation: 11416
The below mentioned layout is a model of one item in a ListView
. As you see it, the three TextViews are separated from each as each one occupies .3
of the entire row space.
The problem is, when I add items to the ListView
I found that the three TextView
s are just linked to each other. For example, let's assume I want to add item to the ListView
contains the following:
Adam USA M
I expect to see that row on the screen with some spaces separating each textView, but what happens is that I get something like the following:
AdamUSAM
Why this is happening and how to solve it?
model_view:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/tvName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight=".3"
android:text="Name"/>
<TextView
android:id="@+id/tvAddress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight=".3"
android:text="Address: "/>
<TextView
android:id="@+id/tvGender"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight=".3"
android:text="gender: "/>
</LinearLayout>
Update:
Now I changed the layout to be as follows, but the problem is persists which is that the three textviews are appearing clinching to each other without spacing.
layout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:weightSum="3">
<TextView
android:id="@+id/tvName"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Name: "
android:focusable="false"/>
<TextView
android:id="@+id/tvAddress"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Address: "
android:focusable="false"/>
<TextView
android:id="@+id/tvGender"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="gender: "
android:focusable="false"/>
</LinearLayout>
screen shot:
Upvotes: 0
Views: 570
Reputation: 557
I would suggest to remove layout_weight
from TextViews
, define a specific height
to them and add padding. Adding margins may cause your TextViews
to go out of ListView
.
Upvotes: 0
Reputation: 7415
You need to specify the orientation of LinearLayout
e.g. android:orientation="horizontal"
then replace your weights to 1 instead of 0.3 and make sure your TextView
width is 0dp
not wrap_content
.
Upvotes: 2
Reputation: 1618
in your listView xml add :
android:dividerHeight="8 dip"
or any value you want.
Upvotes: 0