如何在android中的listview行中显示两个值

时间:2015-02-13 08:05:09

标签: android listview

您好在下面的代码中如何在listview中显示文本,文本值。现在,它显示如下

列表视图格式中的

image textdetails text1details

但我期待这样的输出:

image textdetails
text1details

在我想要显示的单独行中。

FriendList.java

public class FriendList extends ListActivity 
{
    private static final int ADD_NEW_FRIEND_ID = Menu.FIRST;
    private static final int CREATE_GROUP_ID = Menu.FIRST+1;
    private static final int EXIT_APP_ID = Menu.FIRST + 2;

    private IAppManager imService = null;
    private FriendListAdapter friendAdapter;
    String groupdetails;
    public String ownusername = new String();

    private class FriendListAdapter extends BaseAdapter 
    {       
        class ViewHolder {
            TextView text,text1;

            ImageView icon;
        }
        private LayoutInflater mInflater;
        private Bitmap mOnlineIcon;
        private Bitmap mOfflineIcon;        

        private FriendInfo[] friends = null;


        public FriendListAdapter(Context context) {
            super();            

            mInflater = LayoutInflater.from(context);

            mOnlineIcon = BitmapFactory.decodeResource(context.getResources(), R.drawable.greenstar);
            mOfflineIcon = BitmapFactory.decodeResource(context.getResources(), R.drawable.redstar);

        }

        public void setFriendList(FriendInfo[] friends)
        {
            this.friends = friends;
            }


        public int getCount() {     

            return friends.length;
        }


        public FriendInfo getItem(int position) {           

            return friends[position];
        }

        public long getItemId(int position) {

            return 0;
        }

        public View getView(int position, View convertView, ViewGroup parent) {

            ViewHolder holder;


            if (convertView == null) 
            {
                convertView = mInflater.inflate(R.layout.friend_list_screen,null);


                holder = new ViewHolder();

                holder.text = (TextView) convertView.findViewById(R.id.text);
                holder.text1 = (TextView) convertView.findViewById(R.id.text1);

                holder.icon = (ImageView) convertView.findViewById(R.id.icon);                                       

                convertView.setTag(holder);
            }   
            else {

                holder = (ViewHolder) convertView.getTag();

            }

            holder.text.setText(friends[position].userName);

            holder.text1.setText(groupdetails); 


            holder.icon.setImageBitmap(friends[position].status == STATUS.ONLINE ? mOnlineIcon : mOfflineIcon);


            return convertView;
        }

    }

friend_list_screen.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <ImageView android:id="@+id/icon"
        android:layout_width="48dip"
        android:layout_height="48dip" />

    <TextView android:id="@+id/text"
        android:layout_gravity="center_vertical"
        android:layout_width="wrap_content"
        android:layout_weight="1.0"
        android:layout_height="wrap_content" />

       <TextView android:id="@+id/text1"
        android:layout_gravity="center_vertical"
        android:layout_width="wrap_content"
        android:layout_weight="1.0"
        android:layout_height="wrap_content" /> 


</LinearLayout>

更新

当我使用所有答案时,它会给出这样的输出。但是它给出了主要的iteam的子项。但是我想要new1名称作为一个也是一次的主要名称。我不想要3次

4 个答案:

答案 0 :(得分:1)

试试这个对我有用

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="6dip" >




<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/image"
    android:layout_alignParentLeft="true"
    />


<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/textViewStdName"
    android:layout_alignTop="@+id/image"
    android:layout_toRightOf="@+id/image"
    android:text="StdName"
    />
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/textViewRegNo"
    android:text="947539458"
    android:layout_alignBaseline="@+id/textViewStdName"
    android:layout_toRightOf="@+id/textViewStdName"
    />


</RelativeLayout>

<强>更新

    <?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:padding="6dip" >

    <ImageView android:id="@+id/icon"
        android:layout_width="48dip"
        android:layout_height="48dip" />

    <TextView android:id="@+id/text"

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/icon"
        android:layout_toRightOf="@+id/icon"
        android:text="text"
        />

    <TextView android:id="@+id/text1"

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/icon"
        android:layout_below="@+id/text"
        android:text="text1"
        />


</RelativeLayout>

答案 1 :(得分:0)

使用Relativelayout或添加另一个LinearLayout。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <ImageView android:id="@+id/icon"
        android:layout_width="48dip"
        android:layout_height="48dip" />

    <TextView android:id="@+id/text"
        android:layout_gravity="center_vertical"
        android:layout_width="wrap_content"
        android:layout_weight="1.0"
        android:layout_height="wrap_content" />

<LinearLayout 
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_width="wrap_content">
       <TextView android:id="@+id/text1"
        android:layout_gravity="center_vertical"
        android:layout_width="wrap_content"
        android:layout_weight="1.0"
        android:layout_height="wrap_content" /> 

</LinearLayout>
</LinearLayout>

答案 2 :(得分:0)

您需要更改行布局的xml。请尝试以下xml:

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <ImageView
        android:src="@drawable/ic_action_about"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Text"
        android:id="@+id/textView" />
    </LinearLayout>
<LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Text"
        android:id="@+id/textView5" />
</LinearLayout>

结果:

enter image description here

答案 3 :(得分:0)

试试这个项目布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

<RelativeLayout 
  android:orientation="horizontal"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  >

  <ImageView android:id="@+id/icon"
    android:layout_width="48dip"
    android:layout_height="48dip" 
    android:layout_alignLeft="true"  
    />

   <TextView android:id="@+id/text"
    android:layout_gravity="center_vertical"
    android:layout_width="wrap_content"
    android:layout_weight="1.0"
    android:layout_toRightOf="@+id/icon"
    android:layout_marginLeft="8dp"
    android:layout_height="wrap_content" />

</RelativeLayout>

   <TextView android:id="@+id/text1"
    android:layout_gravity="center_vertical"
    android:layout_width="wrap_content"
    android:layout_weight="1.0"
    android:layout_marginTop="3dp"
    android:layout_height="wrap_content" /> 


</LinearLayout>