当前位置: 首页 > 知识库问答 >
问题:

SetEmptyView不适合他的父级(列表视图)

徐隐水
2023-03-14

这就是当我为我的空视图设置一个“视图”时发生的情况。(空视图适合整个屏幕,而不是ListView的大小。

发行

<RelativeLayout  xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#bdbdbd">

<ImageView
    android:id="@+id/image1"
    android:layout_width="150dp"
    android:layout_height="150dp"
    android:layout_gravity="center"
    android:background="@mipmap/ic_inf"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true"
    android:contentDescription="information">
</ImageView>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="168dp"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="SIN NADA POR MOSTRAR"
    android:textAlignment="center"
    android:textSize="32sp"
    android:textStyle="bold"
    android:textColor="#757575"
    android:id="@+id/infoMsgTextView"
    android:layout_gravity="center_horizontal|bottom"
    android:layout_alignParentTop="false"
    android:layout_alignParentLeft="false"
    android:layout_alignParentStart="true"
    android:layout_marginTop="224dp"
    android:layout_alignParentEnd="false"
    android:layout_alignParentBottom="true"/>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:fbutton="http://schemas.android.com/apk/res-auto"
            xmlns:tools="http://schemas.android.com/tools"
            xmlns:htext="http://schemas.android.com/apk/res-auto"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            xmlns:fab="http://schemas.android.com/apk/res-auto"
            tools:context=".controler.SalesFragment"
            android:visibility="visible"
>

<!-- TODO: Update blank fragment layout -->

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="165dp"
    android:layout_gravity="center"
    android:background="#144257"
    android:id="@+id/relativeLayout"
    android:layout_below="@+id/tvClient"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true">

    <EditText
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:inputType="numberDecimal"
        android:background="@drawable/roundedshadow_et"
        android:ems="10"
        android:id="@+id/discountEditText"
        android:elegantTextHeight="false"
        android:hint="@string/discountHint"
        android:textColorHint="#FFFF"
        android:textColor="#FFFF"
        android:textAlignment="center"
        android:layout_alignTop="@+id/etPrice"
        android:layout_toLeftOf="@+id/etPrice"
        android:layout_toStartOf="@+id/etPrice"/>

    <AutoCompleteTextView
        android:layout_width="300dp"
        android:background="@drawable/roundedshadow_et"
        android:layout_height="60dp"
        android:singleLine="true"
        android:scrollHorizontally="true"
        android:id="@+id/productAutoCompleteTextView"
        android:hint="@string/product"
        android:textColorHint="#FFFF"
        android:layout_gravity="center"
        android:textAlignment="center"
        android:textColor="#ffff"
        android:visibility="visible"
        android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"/>

    <EditText
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:inputType="numberDecimal"
        android:background="@drawable/roundedshadow_et"
        android:ems="10"
        android:id="@+id/amountEditText"
        android:elegantTextHeight="false"
        android:textAlignment="center"
        android:textColor="#FFFF"
        android:textColorHint="#FFFF"
        android:hint="@string/amountHint"
        android:layout_alignTop="@+id/discountEditText"
        android:layout_alignLeft="@+id/productAutoCompleteTextView"
        android:layout_alignStart="@+id/productAutoCompleteTextView"/>

    <info.hoang8f.widget.FButton

        android:layout_width="70dp"
        android:layout_height="wrap_content"
        fbutton:buttonColor="#144257"
        fbutton:shadowColor="#0e2e3c"
        fbutton:shadowEnabled="true"
        fbutton:shadowHeight="5dp"
        fbutton:cornerRadius="5dp"
        android:textColor="#ffff"
        android:textAlignment="center"
        android:text="@string/addProduct"
        android:id="@+id/addProductBtn"
        android:layout_below="@+id/discountEditText"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="5dp"/>

    <EditText
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:inputType="numberDecimal"
        android:background="@drawable/roundedshadow_et"
        android:ems="10"
        android:id="@+id/etPrice"
        android:elegantTextHeight="false"
        android:textAlignment="center"
        android:textColor="#FFFF"
        android:textColorHint="#FFFF"
        android:hint="@string/priceHint"
        android:layout_centerVertical="true"
        android:layout_alignRight="@+id/productAutoCompleteTextView"
        android:layout_alignEnd="@+id/productAutoCompleteTextView"/>

</RelativeLayout>


<com.hanks.htextview.HTextView
    android:id="@+id/tvClient"
    android:layout_width="fill_parent"
    android:layout_height="20dp"
    android:background="#144257"
    android:gravity="center"
    android:textColor="#FFFFFF"
    android:textSize="15sp"
    htext:animateType="anvil"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:textAlignment="center"/>

<com.hanks.htextview.HTextView
    android:id="@+id/tvPrice"
    android:layout_width="fill_parent"
    android:layout_height="20dp"
    android:background="#144257"
    android:gravity="center"
    android:textColor="#FFFFFF"
    android:textSize="15sp"
    htext:animateType="anvil"
    android:textAlignment="center"
    android:layout_below="@+id/relativeLayout"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"/>

<com.github.clans.fab.FloatingActionMenu
    android:id="@+id/sale_floating_menu"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    fab:menu_animationDelayPerItem="55"
    fab:menu_backgroundColor="@color/fbutton_color_transparent"
    fab:menu_buttonSpacing="0dp"
    fab:menu_colorNormal="#e040fb"
    fab:menu_colorPressed="#4d0359"
    fab:menu_colorRipple="#99d4d4d4"
    fab:menu_fab_label="Opciones de venta"
    fab:menu_fab_size="normal"
    fab:menu_icon="@mipmap/shopping_cart"
    fab:menu_labels_colorNormal="#333"
    fab:menu_labels_colorPressed="#444"
    fab:menu_labels_colorRipple="#66efecec"
    fab:menu_labels_cornerRadius="3dp"
    fab:menu_labels_ellipsize="none"
    fab:menu_labels_hideAnimation="@anim/fab_slide_out_to_right"
    fab:menu_labels_margin="0dp"
    fab:menu_labels_maxLines="-1"
    fab:menu_labels_padding="8dp"
    fab:menu_labels_position="left"
    fab:menu_labels_showAnimation="@anim/fab_slide_in_from_right"
    fab:menu_labels_showShadow="true"
    fab:menu_labels_singleLine="false"
    fab:menu_labels_textColor="#f2f1f1"
    fab:menu_labels_textSize="15sp"
    fab:menu_openDirection="up"
    fab:menu_shadowColor="#66aff198"
    fab:menu_shadowRadius="4dp"
    fab:menu_shadowXOffset="1dp"
    fab:menu_shadowYOffset="4dp"
    fab:menu_showShadow="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    >

    <com.github.clans.fab.FloatingActionButton
        android:id="@+id/floating_add"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@mipmap/add_tag"
        fab:fab_size="mini" />

    <com.github.clans.fab.FloatingActionButton
        android:id="@+id/floating_checkout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@mipmap/checkout"
        fab:fab_size="mini" />



</com.github.clans.fab.FloatingActionMenu>

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/tvPrice">

    <ListView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:longClickable="true"
        android:id="@+id/lvCart"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="false"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"/>
</RelativeLayout>
    View view = inflater.inflate(R.layout.fragment_sales, container, false);
        neverEmptyListView = (ListView) view.findViewById(R.id.lvCart);
    ViewGroup headerView = (ViewGroup) getActivity().getLayoutInflater().inflate(R.layout.header_row_layout, neverEmptyListView, false);
    neverEmptyListView.addHeaderView(headerView);

    View emptyView = getActivity().getLayoutInflater().inflate(R.layout.empty_items, null);
    emptyMsg = (TextView) emptyView.findViewById(R.id.infoMsgTextView);
    emptyMsg.setText("Agregue productos para la venta");

     getActivity().addContentView(emptyView, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
    neverEmptyListView.setEmptyView(emptyView);


    items = new ArrayList<String>();
    lvAdapter = new ListViewAdapter
            (getContext(), R.layout.row_layout, R.id.description, items);
    neverEmptyListView.setAdapter(lvAdapter);

共有1个答案

戎志勇
2023-03-14

我这样解决我的问题:

        ((ViewGroup)neverEmptyListView.getParent()).addView(emptyView);
    neverEmptyListView.setEmptyView(emptyView);
 类似资料:
  • 父对象放在spring控制器的@SessionAttributes中,这是原因吗? 即使我只合并子列表,合并(childList),它也创建新记录而不是更新。

  • 我有一个保持宽高比的元素:它根据其宽度计算其高度(使用填充技巧)。我想做的是通过垂直和水平地拟合最大可用空间,将此放入另一个div中,不进行裁剪。我认为最接近我想要的东西是-这是而已。 我希望div覆盖最大的高度和宽度,同时保持纵横比。没有垂直或水平的作物。 它甚至可能与CSS只有?如果有,如何? 更新:这是一篇很好的文章,介绍了目前的情况。 代码(可以是任何其他解决方案,不必在此代码段上构建):

  • 问题内容: 以故事形式: 我在这里寻找的是主从设置。母版是列表形式的,当我单击一个链接(相对于特定的行/记录(在这种情况下为Account))时,我想在主视图(直译为“主”视图:)中查看详细信息。 我想这样做并维护我的URL结构(用于帐户列表;用于详细版本), 但是我希望详细视图使用列表正在使用的视图 。 我目前有什么 index.html account.js 此时,该路线将按预期工作。它在视图

  • 我正在寻找在Android中使用列表适配器和Recyview适配器的区别。关于性能的任何不同,使用它们的利弊。

  • 我有一个带有按钮的视图和一个列表视图,由包含bindView()和newView()的光标适配器支持,用于自定义视图。列表的每一行都包含一个Text和一个复选框。每个视图的数据来自数据库。我正在光标适配器构造函数中传递我的数据库适配器。当复选框被选中或取消选中时,我用它来更新数据库(效果很好)。当然,我对光标运行“重新查询”并view.refreshDrawableState())。这是个好主意吗

  • 我有一个序列,其中我期望每个过程值与前一个相同或1。 我想要什么: 我用以下代码解决了这个问题: 然而,这看起来相当“肮脏”和低效。有没有计算上耗时更少的解决方案?