left and right alignment rows inside Listview?
android, android-layout, android-listview, xml
Solution
Changes made:
~ in `row_right.xml` & `row_left.xml`, `layout_width` attribute of the parent `LinearLayout` should be set to `wrap_content` instead of `match_parent`
~ in `main.xml`, `layout_width` attribute of `ListView` should be set to `match_parent`. not `wrap_content`
Try the following code:
~ row_right.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/me"
android:layout_alignParentRight="true"
android:layout_marginLeft="5dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:orientation="vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="5"
android:layout_marginLeft="5dp"
android:layout_marginRight="15dp"
android:layout_gravity="right"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:orientation="horizontal" >
<TextView
android:id="@+id/message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:textSize="15sp"
android:textColor="#000000"
android:text="TextView" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_marginBottom="5dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="15dp"
android:orientation="horizontal" >
<TextView
android:id="@+id/dataAndTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:textSize="15sp"
android:textColor="#001199"
android:text="gggggggghyjkljgfdgjlkhfdhklggg" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>
~ row_left.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/you"
android:layout_alignParentLeft="true"
android:layout_marginLeft="10dp"
android:layout_marginRight="5dp"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:orientation="vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="5"
android:layout_marginLeft="5dp"
android:layout_marginRight="15dp"
android:layout_gravity="right"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:orientation="horizontal" >
<TextView
android:id="@+id/message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:textSize="15sp"
android:textColor="#000000"
android:text="TextView" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_marginBottom="5dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="15dp"
android:orientation="horizontal" >
<TextView
android:id="@+id/dataAndTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:textSize="15sp"
android:textColor="#001199"
android:text="gggggggggg" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>
~ main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#FFFFFF" >
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="0px"
android:layout_weight="1"
android:scrollbars="vertical"
android:divider="@null"
android:dividerHeight="0dp" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<EditText
android:id="@+id/content"
android:layout_width="253dp"
android:layout_height="wrap_content"
android:autoText="false"
android:capitalize="none"
android:ems="10"
android:scrollHorizontally="true"
android:singleLine="true"
android:textSize="16sp"
android:hint="Enter text"
>
</EditText>
<Button
android:id="@+id/send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Send" />
</LinearLayout>
</LinearLayout>
Problem
My goal is below image And i have below codes row_right.xml ``` <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/me" android:layout_gravity="right" android:layout_marginLeft="5dp" android:layout_marginRight="10dp" android:layout_marginBottom="5dp" android:layout_marginTop="5dp" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="5" android:layout_marginLeft="5dp" android:layout_marginRight="15dp" android:layout_gravity="right" android:layout_marginTop="5dp" android:layout_marginBottom="5dp" android:orientation="horizontal" > <TextView android:id="@+id/message" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="right" android:textSize="15sp" android:textColor="#000000" android:text="TextView" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:layout_marginBottom="5dp" android:layout_marginLeft="5dp" android:layout_marginRight="15dp" android:orientation="horizontal" > <TextView android:id="@+id/dataAndTime" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="right" android:textSize="15sp" android:textColor="#001199" android:text="gggggggghyjkljgfdgjlkhfdhklggg" /> </LinearLayout> </LinearLayout> ``` row_left.xml ``` <?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="wrap_content" android:background="@drawable/you" android:layout_gravity="left" android:layout_marginLeft="10dp" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:layout_marginTop="5dp" android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="5" android:layout_marginLeft="5dp" android:layout_marginRight="15dp" android:layout_gravity="right" android:layout_marginTop="5dp" android:layout_marginBottom="5dp" android:orientation="horizontal" > <TextView android:id="@+id/message" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="right" android:textSize="15sp" android:textColor="#000000" android:text="TextView" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1" android:layout_marginBottom="5dp" android:layout_marginLeft="5dp" android:layout_marginRight="15dp" android:orientation="horizontal" > <TextView android:id="@+id/dataAndTime" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="right" android:textSize="15sp" android:textColor="#001199" android:text="gggggggggg" /> </LinearLayout> </LinearLayout> ``` main.xml ``` <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:background="#FFFFFF" > <ListView android:id="@android:id/list" android:layout_width="wrap_content" android:layout_height="0px" android:layout_weight="1" android:scrollbars="vertical" android:divider="@null" android:dividerHeight="0dp" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <EditText android:id="@+id/content" android:layout_width="253dp" android:layout_height="wrap_content" android:autoText="false" android:capitalize="none" android:ems="10" android:scrollHorizontally="true" android:singleLine="true" android:textSize="16sp" android:hint="Enter text" > </EditText> <Button android:id="@+id/send" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Send" /> </LinearLayout> </LinearLayout> ``` but my result become How i can Fix it? UPDATE1 my listAdapter.java ``` public class ListAdapter1 extends BaseAdapter { private LayoutInflater myInflater; private List<SmsInformation> list; public ListAdapter1(Context context) { myInflater = LayoutInflater.from(context); } public void setData(List<SmsInformation> list2) { this.list = list2; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { if (list.get(position).getTypeOfSms().equals("send")) convertView = myInflater.inflate(R.layout.raw_left, null); else convertView = myInflater.inflate(R.layout.raw_right, null); holder = new ViewHolder(); holder.message = (TextView) convertView.findViewById(R.id.message); holder.dateAndTime = (TextView) convertView.findViewById(R.id.dataAndTime); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.message.setText(list.get(position).getMessageContent()); holder.dateAndTime.setText(list.get(position).geTime()+list.get(position).getDate()); return convertView; } static class ViewHolder { TextView message; TextView dateAndTime; } } ```