您好在下面的代码中如何在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次
答案 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>
结果:
答案 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>