gpt4 book ai didi

Android - 无法隐藏进度条

转载 作者:太空狗 更新时间:2023-10-29 12:44:34 25 4
gpt4 key购买 nike

所以我检查了其他问题以隐藏进度条,但似乎都建议做我已经在做的事情。

我正在尝试使用

mProductListProgressBar.setVisibility(View.GONE);

我找到它了

mProductListProgressBar = (ProgressBar) mRoot.findViewById(R.id.product_list_progressbar);

我知道这是正确的进度条,因为我可以在使用各种 LayoutParams 命令之前在屏幕上移动它。但它不会隐藏。

我目前的代码(包括进度条的移动)是

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE);
mProductListProgressBar.setLayoutParams(params);
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE);
mProductListProgressBar.setLayoutParams(params);

mProductListProgressBar.setVisibility(View.GONE);
mProductListErrorTextView.setVisibility(View.VISIBLE);
mProductListErrorTextView.setText(errorMessage);

进度条向左和底部移动但仍然可见。我已经尝试过 View.INVISIBLE 和 View.GONE 但都不起作用。

这让我抓狂!

谢谢

更新 1

protected void showError(int errorMessage){

/*RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE);
mProductListProgressBar.setLayoutParams(params);
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE);
mProductListProgressBar.setLayoutParams(params);
*/
mProductListProgressBar.setVisibility(View.GONE);
mProductListErrorTextView.setVisibility(View.VISIBLE);
mProductListErrorTextView.setText(errorMessage);
}

并调用它

showError(R.string.wish_list_empty);

更新 2

fragment 的xml

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

<GridView
android:id="@+id/product_list_gridview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:horizontalSpacing="@dimen/standardMargin"
android:listSelector="@android:color/transparent"
android:numColumns="@integer/columns"
android:scrollbarStyle="outsideOverlay"
android:verticalSpacing="@dimen/standardMargin" />

<RelativeLayout
android:id="@+id/product_list_header"
android:layout_width="match_parent"
android:layout_height="@dimen/refineHeaderHeight"
android:background="@drawable/product_list_header"
android:visibility="gone" >

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:padding="10dp"
android:src="@drawable/dropdown_image" />

<TextView
android:id="@+id/product_list_header_title"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center|left"
android:paddingLeft="10dp"
android:textAllCaps="true"
android:textColor="@android:color/black"
android:textIsSelectable="false"
android:textSize="@dimen/standardTextSize" />

<TextView
android:id="@+id/product_list_refine_button"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:background="@drawable/button"
android:clickable="true"
android:gravity="center_vertical"
android:paddingLeft="20dp"
android:paddingRight="30dp"
android:text="@string/refine"
android:textAllCaps="true"
android:textColor="#838383"
android:textSize="@dimen/standardTextSize" />
</RelativeLayout>

<LinearLayout
android:id="@+id/product_list_footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_gravity="center"
android:background="@drawable/product_list_footer"
android:gravity="center"
android:orientation="horizontal"
android:padding="15dp"
android:visibility="gone" >

<ProgressBar
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_gravity="center"
android:layout_marginRight="10dp"
android:background="@android:color/transparent"
android:gravity="center" />

<TextView
android:id="@+id/product_list_footer_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="@string/loading_message"
android:textAllCaps="true"
android:textSize="@dimen/standardTextSize" />
</LinearLayout>

<ProgressBar
android:id="@+id/product_list_progressbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:visibility="gone"/>

<TextView
android:id="@+id/product_list_error_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:textAllCaps="true"
android:textSize="@dimen/standardTextSize"
android:visibility="gone" />

<TextView
android:id="@+id/debug"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#aa000000"
android:gravity="left|center_vertical"
android:minLines="2"
android:padding="10dp"
android:textColor="@android:color/white"
android:visibility="gone" />

</RelativeLayout>

最佳答案

此行为的问题通常发生在您试图隐藏的 View 被其他人需要/引用时。

在您的情况下,正如您在评论中提到的,您将 mProductListProgressBar 用于 GridViewsetEmptyView()

当您的相对容器布局中的其他 View 将它们的位置相对设置为您的mProductListProgressBar 时,另一种可能会遇到类似的麻烦。此设置可以在代码中或在 .xml 中。

请确保您没有上述任何一项,View.GONE 应该可以正常工作。

至于setEmptyView() - 它仅用于在您的适配器为空时向用户显示有意义的内容。我建议只为此设置简单的布局,例如,在中间使用 TextView "no items",并将其传递给 setEmptyView()

希望对您有所帮助。

关于Android - 无法隐藏进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20565250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com