Android进度栏未显示

时间:2018-11-10 19:04:13

标签: android android-layout android-recyclerview progress-bar android-progressbar

这是我的布局xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/fragment_body"
android:fitsSystemWindows="true">

<include
    android:id="@+id/contextToolBar"
    layout="@layout/context_toolbar_layout" />

<android.support.v7.widget.RecyclerView
    android:id="@+id/list1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/contextToolBar"
    android:scrollbarSize="5dp"
    android:scrollbarThumbVertical="@color/scrollbarColor"
    android:scrollbars="vertical"
    app:layout_behavior="@string/appbar_scrolling_view_behavior" />

<ProgressBar
    android:id="@+id/delete_progress"
    style="@style/Widget.AppCompat.ProgressBar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:visibility="gone" />

它在recyclerview中显示图像网格。 我可以选择一堆图像,并可以选择删除它们。 以下是删除逻辑:

public void deleteSelectedFiles(final Context context, final List<MediaModel> selectionList) {

    String confirmationMessage = getString(R.string.delete_confirm_message);

    new AlertDialog.Builder(context)
            .setTitle(getString(R.string.action_delete))
            .setMessage(confirmationMessage)
            .setIcon(android.R.drawable.ic_dialog_alert)
            .setPositiveButton(android.R.string.yes, (dialog, whichButton) -> {
                View progressBar = getActivity().findViewById(R.id.delete_progress);
                dialog.cancel();
                progressBar.setVisibility(View.VISIBLE);

                deleteFileList(selectionList, this.getActivity());

                progressBar.setVisibility(View.GONE);
            })
            .setNegativeButton(android.R.string.no, null).show();
}

我希望在进行删除操作时,进度条会显示在前台。但是它只是没有出现。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:3)

所以我以前有这个问题。就我而言,这是因为我为整个应用程序使用了“材料设计主题”,因此我必须使用特定的方向,这解决了我的问题。您可以尝试

<ProgressBar
                android:id="@+id/progressBarReady"
                style="@android:style/Widget.ProgressBar.Horizontal"
                android:layout_width="match_parent"
                android:layout_height="3dp"
                android:indeterminate="true"
                android:visibility="visible"/>

答案 1 :(得分:1)

我有类似的问题。就我而言,我使用的是ProgressBar作为CoordinatorLayout中的加载指示器。 在“活动/片段”中-在不同点-基于可用的数据-即使用游标或通过网络,我需要调用 mViewA.setVisibility(View.GONE)mViewB.setVisibility(View.VISIBLE)。 当我为我的视图(包括ProgressBar视图)正确设置这些设置后,它就可见了。

答案 2 :(得分:0)

Intent getIntent = getIntent();
String edt1= getIntent.getStringExtra("Key1");
String edt2 = getIntent.getStringExtra("Key2");   

style =“?android:attr / progressBarStyle” 是它为我解决的问题。