我在尝试为我的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());
}
}
任何人都可以看到我哪里出错了吗? 干杯里斯。
答案 0 :(得分:1)
编辑,新答案:
OP问题的解决方案似乎是从XML视图中删除填充。
原始建议回答:
这看起来像我的正常行为。您的列表不会自动调整其行的大小以完全显示每个项目。我猜你是否向下滚动你将能够看到列表的其余部分我是否正确?我想你总是可以通过设置每行的高度来更新驱动每行UI的资源xml,以便当你滚动到列表顶部时所有项目都在全视图中。