Android ListView和待定进度条

Android ListView和待定进度条,android,listview,progress-bar,contextmenu,Android,Listview,Progress Bar,Contextmenu,抱歉问这个问题听起来可能很愚蠢 但是:如何根据刚刚点击的单元格激活进度条 我有一个列表视图,长按后会显示一个菜单 当我单击其中一个选项时,我希望根据我单击的单元格在listView中显示ProgressBar。无论我在做什么,它当前总是显示我的第一个单元格 public boolean onContextItemSelected(MenuItem item) { AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.ge

抱歉问这个问题听起来可能很愚蠢

但是:如何根据刚刚点击的单元格激活进度条

我有一个列表视图,长按后会显示一个菜单

当我单击其中一个选项时,我希望根据我单击的单元格在listView中显示ProgressBar。无论我在做什么,它当前总是显示我的第一个单元格

public boolean onContextItemSelected(MenuItem item) {
     AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();

     switch (item.getOrder()) {
        case 0:
                    mProgressBar = (ProgressBar)findViewById(R.id.welcome_progressbar);
                    mProgressBar.setVisibility(View.VISIBLE);
            ... some execution ....

                    return true;
        case 1:
                     ...

有人看到什么错误吗?

这是因为findViewById在列表中找到视图的第一个实例。
您需要通过适配器中getView中的项目状态来处理这个问题。您可以尝试使用诸如selected/pressed之类的状态,或者只为您的项目设置一个布尔值,在getView中检查它,并在此基础上显示/隐藏进度。

经过一些研究并重新实现CursorAdapter类的重载后,我有权获得getView()方法。问题是当我想的时候我怎么能叫它?根据我所看到的,当我实例化CustomAdapter类时,会调用getView()。在我的程序的某个点访问它?你知道吗?