android - 我可以将文本放在 ListView 元素的左侧和右侧吗?

标签 android listview

我必须制作一个包含姓名列表的 ListView ,并且左对齐,但在同一字段中,人的性别,男性或女性

可以吗?怎么办?

欢迎代码示例

编辑

我尝试使用第一个用户答案,但我得到了这个异常:12-14 22:39:56.191: ERROR/AndroidRuntime(917): java.lang.IllegalStateException: ArrayAdapter requires the resource ID to be a TextView

这是我制作的 XML 项目的代码:

<?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" >
        <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Left side" 
        android:layout_alignParentLeft="true"/>
        <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Right side" 
        android:layout_alignParentRight="true"/>
</RelativeLayout> 

这是我拥有列表的代码:

public class PendingInvitations extends ListActivity {

......
.....
....    
    @Override
    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
    private List<String> usernames=new ArrayList<String>();
        for (int i=0;i<friends.size();i++)
              {
                usernames.add(i,friends.get(i).getFullName());
              }


              setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item2, usernames));

最佳答案

这将是用于每个单元格的 View

<?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" >
         <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Left side" android:layout_alignParentLeft="true"/>
        <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Right side" android:layout_alignParentRight="true"/>
     </RelativeLayout> 

这是一个示例,因为我不知道您对列表的了解在哪里,如果上面的 xml 被称为“temp.xml”,您将在 setlistadapter 函数中使用它

    import android.app.ListActivity;
    import android.os.Bundle;
    import android.widget.ArrayAdapter;

    public class FooList extends ListActivity extends BaseAdapter {
        String[] listItems = {"item 1", "item 2 ", "list", "android", "item 3", "foobar", "bar", }; 
        @Override
         public void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
             setContentView(R.layout.layout_with_listview);

             // implement your own adapter

         }

    }
public View getView(int position, View convertView, ViewGroup parent) {
                // A ViewHolder keeps references to children views to avoid unneccessary calls
                // to findViewById() on each row.
                ViewHolder holder;

                // When convertView is not null, we can reuse it directly, there is no need
                // to reinflate it. We only inflate a new View when the convertView supplied
                // by ListView is null.
                if (convertView == null) {
                    convertView = mInflater.inflate(R.layout.temp, null);

                    // Creates a ViewHolder and store references to the two children views
                    // we want to bind data to.
                    holder = new ViewHolder();
                    holder.left = (TextView) convertView.findViewById(R.id.left);
                    holder.right = (TextView) convertView.findViewById(R.id.right);

                    convertView.setTag(holder);
                } else {
                    // Get the ViewHolder back to get fast access to the TextView
                    // and the ImageView.
                    holder = (ViewHolder) convertView.getTag();
                }

                // Bind the data efficiently with the holder.

                holder.left.setText("left text");
                holder.right.setText("right text");

                return convertView;
            }

    class ViewHolder
    {
         public TextView left;
        public TextView right;
    }

关于android - 我可以将文本放在 ListView 元素的左侧和右侧吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4443517/

相关文章:

c# - Listview Itemediting 不工作

android - 使用异步任务加载图像时 Android ListView 中的奇怪行为

将部分记录信息保存到数据库的Android UI模式

android - 如何在android中使用字符串列表而不是资源数组

android - 在android中使用按钮删除 ListView 项目

java - 无法在 ListView 中列出数据库中的所有值

android - 在Android Studio中的Flutter上运行模拟器时出错

android - 房间错误 : The columns returned by the query does not have the fields fieldname

android - Android Q 中 Wifi 管理器 removeNetwork() 的替代方案。新 Api WifiNetworkSuggestion 仅删除建议

android - 如何在调用新的异步任务时终止以前的任务