Android 如何在加载ListView时通过进度条以编程方式“替换”它?

Android 如何在加载ListView时通过进度条以编程方式“替换”它?,android,listview,layout,Android,Listview,Layout,我有一个简单的列表视图,如下所示: listView = view.findViewById(R.id.elements_list); 但是我没有访问布局的权限,因此无法在那里放置进度条。我可以让listView不可见,然后在它前面显示一个进度条吗?我至少可以考虑如何在ListVIEW包含的整个屏幕上做这件事,但是如果我希望我的PrimeStBar正好在ListVIEW?/P>< P>中的中间水平和垂直方向出现,这是在Kotlin,但是它可以很容易地翻译成java。 我认为您可以免费重复使用A

我有一个简单的列表视图,如下所示:

listView = view.findViewById(R.id.elements_list);
但是我没有访问布局的权限,因此无法在那里放置进度条。我可以让listView不可见,然后在它前面显示一个进度条吗?我至少可以考虑如何在ListVIEW包含的整个屏幕上做这件事,但是如果我希望我的PrimeStBar正好在ListVIEW?/P>< P>中的中间水平和垂直方向出现,这是在Kotlin,但是它可以很容易地翻译成java。 我认为您可以免费重复使用Android API提供的内容,例如显示“进度圈指示器”,显示正在加载的内容:

package com.example.myapplication

import android.app.Dialog
import android.graphics.Color
import android.graphics.drawable.ColorDrawable
import android.os.Bundle
import android.view.View
import android.widget.ProgressBar
import androidx.appcompat.app.AppCompatActivity

class MainActivity: AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val dialog = Dialog(this)
        val progressBar = ProgressBar(this)

        progressBar.isIndeterminate = true
        progressBar.visibility = View.VISIBLE

        dialog.window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
        dialog.setContentView(progressBar)
        dialog.show()
    }
}
输出如下所示:

listView = view.findViewById(R.id.elements_list);

当你说你没有访问版面的权限时,你是什么意思?你可以编写代码来隐藏progressbar,并在必要时显示它。@p_anantha,但我不能访问版面,它是根据谁从这个片段继承而来的,直接插入的,但我如何将progressbar插入版面?如何创建progressBar视图并赋予其属性?在您的示例中,progressBar被放置在listView开始的坐标中。我可以用数学来计算它的中心,但是有没有办法插入碎片的中心?因为listView将维度与片段匹配