Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 仅检查条件显示并动态列表查看具有不同高度的所有项目_Android_Listview - Fatal编程技术网

Android 仅检查条件显示并动态列表查看具有不同高度的所有项目

Android 仅检查条件显示并动态列表查看具有不同高度的所有项目,android,listview,Android,Listview,1.仅显示检查条件 public View getView(final int position, View convertView, ViewGroup parent) { View vi = convertView; if (convertView == null) vi = inflater.inflate(R.layout.main_alllatestnewslist, parent, false); Im

1.仅显示检查条件

public View getView(final int position, View convertView, ViewGroup parent) {
    View vi = convertView;
    if (convertView == null)
        vi = inflater.inflate(R.layout.main_alllatestnewslist, parent,
                false);     
    ImageView imageview = (ImageView) vi
            .findViewById(R.id.image_alllatestnewstitle);
    imageview.setVisibility(View.INVISIBLE);
    TextView titletext = (TextView) vi
            .findViewById(R.id.text_particularlatestnewstitle);
    TextView categorytext = (TextView) vi
            .findViewById(R.id.text_newscategorytitle);
    TextView datetext = (TextView) vi.findViewById(R.id.text_newsdate);

    if (!imagepath[position].toString().equals("no picture")) {
        imageLoader.DisplayImage(imagepath[position], imageview);
        imageview.setVisibility(View.VISIBLE);          
        titletext.setWidth(460 - imageview.getWidth() - 5); <-- this line   
    } else {
        imageview.setVisibility(View.INVISIBLE);
        imageview.setImageDrawable(null);
    }
    titletext.setText(title[position].toString());
    categorytext.setText(category[position].toString());
    datetext.setText(date[position].toString());

    return vi;
}
这是项目的布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_childlist"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/list_bg"
android:minHeight="?android:attr/listPreferredItemHeight" >
<LinearLayout
    android:id="@+id/test"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_marginBottom="5px"
    android:layout_marginLeft="10px"
    android:layout_marginRight="10px"
    android:layout_marginTop="5px" >

    <ImageView
        android:id="@+id/image_alllatestnewstitle"
        android:layout_width="140px"
        android:layout_height="80px"
        android:scaleType="centerCrop" />
</LinearLayout>
....
</RelativeLayout>

....
例如,其中一个项目的显示时间为80px,而其他项目的显示时间仅为40px。但是,其他项目将不会包装到40px和80px,并使所有项目具有相同的高度


如何为所有高度不同的项目设置高度?

尝试
imageview.setVisibility(View.GONE)


不可见
仅隐藏视图,而
消失
将其“删除”

尝试
imageview.setVisibility(view.GONE)


不可见
仅隐藏视图,而
消失
将其“删除”

请参见
@super的
回答,并注意,
视图。不可见
仍保留一个“占位符”,因此布局不会更小。另一方面,
View.GONE
为您提供了所需的方面。如果处理复杂的布局,如果使用它们作为项目渲染器,则应该考虑为它们创建自己的“代码>视图/代码>扩展类,并查看状态和状态拖拽。参见<代码> @ SUMM的答案,并且注意,视图。Itabor 仍然保留了“占位符”,因此布局不会更小。另一方面,
View.GONE
为您提供了所需的方面。如果处理复杂布局,如果将它们用作项目渲染器,则应该考虑为它们创建自己的“代码>视图/代码>扩展类,并查看状态和状态拖拉。它仍然是相同的,仍然”SATEY尝试“设置IVIEVIEW高度为30,它也和80一样,你能在你的文本视图中添加xml部分吗?不管怎样,我的老板接受了我目前的身高,但是第一个问题是现在的主要问题,我不知道为什么只有在滚动列表视图之后,
if else
条件才起作用。我可以帮助你构建xml,这样就不会出现这样的问题。如果你想要的话,我可以把它添加到我的回答中。它仍然是一样的,仍然“吃掉”空间。我尝试将imageview高度设置为30,它也像80。你能在textview所在的位置添加xml部分吗?不管怎样,我的老板接受了我当前的高度,但是第一个问题是现在的主要问题,我不知道为什么只有在滚动列表视图之后,
if-else
条件才起作用。我可以帮助您构建xml,这样就不会出现此类问题。如果你想要的话,我可以把它加到我的答案中
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_childlist"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/list_bg"
android:minHeight="?android:attr/listPreferredItemHeight" >
<LinearLayout
    android:id="@+id/test"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_marginBottom="5px"
    android:layout_marginLeft="10px"
    android:layout_marginRight="10px"
    android:layout_marginTop="5px" >

    <ImageView
        android:id="@+id/image_alllatestnewstitle"
        android:layout_width="140px"
        android:layout_height="80px"
        android:scaleType="centerCrop" />
</LinearLayout>
....
</RelativeLayout>