ListView无法正确缩放

时间:2016-02-03 16:31:45

标签: android listview

我的ListView我想要的是50dp的高度,但问题是无论我设置xml布局文件的价值是多少,它都会自动使它更大。 这是我的listview布局:

ENV.instance_eval do
  class << self
    alias_method :original_brackets, :[] 
  end

  def [](name)
  end
end

我的rowview是

<ListView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/mainListView"
    android:layout_below="@+id/"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="22dp" />

我的LocalQueueAdapter

<?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="?android:attr/listPreferredItemHeight">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/"
            android:layout_alignParentTop="false"
            android:layout_alignParentLeft="false"
            android:layout_alignParentStart="false"
            android:textColor="#000000"
            android:layout_centerVertical="true"
            android:layout_marginLeft="5dp" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/"
            android:layout_alignParentRight="false"
            android:layout_alignParentEnd="false"
            android:layout_alignParentLeft="false"
            android:layout_toRightOf="@+id/"
            android:textColor="#000000"
            android:layout_centerVertical="true" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/usernameTextView"
            android:layout_below="@+id/"
            android:textColor="#666666"
            android:layout_toRightOf="@+id/" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/"
            android:layout_alignParentTop="false"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true" />

</RelativeLayout>

谢谢!

1 个答案:

答案 0 :(得分:0)

问题在于充气。我不确定为什么。下面的代码应该适合你。此外,您还不了解如何使用ViewHolder(以下是一个示例和解释:https://www.codeofaninja.com/2013/09/android-viewholder-pattern-example.html

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    if(convertView == null) {
        View convertView = LayoutInflater.from(context).inflate(R.layout.local_queue_list_item, parent, false);
        Holder holder = new Holder();
        holder.songNameTextView = (TextView) rowView.findViewById(R.id.songNameTextView);
        holder.artistNameTextView = (TextView) rowView.findViewById(R.id.artistNameTextView);
        holder.usernameTextView = (TextView) rowView.findViewById(R.id.usernameTextView);
        holder.numberEditText = (TextView) rowView.findViewById(R.id.numberTextView);
        convertView.setTag(holder);
    }

    Holder holder = convertView.getTag();

    ....

    return convertView;
}