Android ListView页脚切断

时间:2014-05-27 21:29:38

标签: android mobile

我在尝试为我的Android应用程序修复我的listview时遇到了困难,由于某种原因,应用程序中的列表现在已经截止并且仅显示最后一个列表项的一半(显示在如下图所示)

http://i.stack.imgur.com/Hk6Gk.png

我看过我的xml,看起来一切都很好

mix_list_item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:geekui="http://schemas.android.com/apk/res-auto"
    android:id="@+id/cell_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="5dp" >

    <ImageView
        android:id="@+id/mix_image"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_gravity="center"
        android:src="@drawable/blackburn_ravers_default_img" />

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1.00"
        android:orientation="horizontal"
        android:padding="5dp" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:orientation="vertical" >

            <com.mobsandgeeks.ui.TypefaceTextView
                android:id="@+id/mix_title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:maxLines="1"
                android:text="Blackburn Ravers"
                android:textColor="#000"
                geekui:customTypeface="fonts/titillium-semibold-webfont.ttf" />

            <com.mobsandgeeks.ui.TypefaceTextView
                android:id="@+id/mix_subtitle"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:maxLines="1"
                android:text=" "
                android:textColor="#000"
                android:textSize="10sp"
                geekui:customTypeface="fonts/titillium-regular-webfont.ttf" />

        </LinearLayout>
    </LinearLayout>

    <ImageView
        android:layout_width="40dp"
        android:layout_height="match_parent"
        android:padding="10dp"
        android:src="@drawable/arrow_btn" />

</LinearLayout>

我的java文件如下

MixListAdapter.java

package com.enadun.blackburnravers.listviews;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

import the.blackburnravers.mediaapp.R;

public class MixListAdapter extends ArrayAdapter<MixesList>{
    private MixesList[] mixList;
    private LayoutInflater inflater;
    private Context context;
    public MixListAdapter(Context context, LayoutInflater inflater, MixesList[] mixList){
        super(context, R.layout.mix_list_item, mixList);
        this.mixList = mixList;
        this.inflater = inflater;
        this.context = context;
    }

    public View getView(int paramInt, View paramView, ViewGroup paramViewGroup){
        View localView =  inflater.inflate(R.layout.mix_list_item, paramViewGroup, false);
        LinearLayout cell = (LinearLayout) localView.findViewById(R.id.cell_layout);
        ((TextView) localView.findViewById(R.id.mix_title)).setText(mixList[paramInt].getTitle());
        ((TextView) localView.findViewById(R.id.mix_subtitle)).setText(mixList[paramInt].getSubtitle());
        if(mixList[paramInt].isShowImage()){
            ((ImageView) localView.findViewById(R.id.mix_image)).setImageResource(getImageDrawable(mixList[paramInt].getImgName()));
        }

        switch (mixList[paramInt].getType())
        {
        case 1:
            cell.setBackgroundResource(R.drawable.table_background_header_xml);
            break;
        case 2:
            cell.setBackgroundResource(R.drawable.table_background_body_xml);
            break;
        case 3:
            cell.setBackgroundResource(R.drawable.table_background_footer_xml);
            break;
        case 4:
            cell.setBackgroundResource(R.drawable.table_background_single_row_xml);
            break;
        }
        return localView;
    }

    private int getImageDrawable(String imgName) {
        return context.getResources().getIdentifier(imgName, "drawable", context.getPackageName());
    }
}

任何人都可以看到我哪里出错了吗? 干杯里斯。

1 个答案:

答案 0 :(得分:1)

编辑,新答案:

OP问题的解决方案似乎是从XML视图中删除填充。

原始建议回答:

这看起来像我的正常行为。您的列表不会自动调整其行的大小以完全显示每个项目。我猜你是否向下滚动你将能够看到列表的其余部分我是否正确?我想你总是可以通过设置每行的高度来更新驱动每行UI的资源xml,以便当你滚动到列表顶部时所有项目都在全视图中。