【发布时间】:2014-01-28 06:48:45
【问题描述】:
我正在开发一个使用两个片段的应用程序。其中一个片段使用 ListView 来显示项目,当单击时,第二个片段会自行更新(它是一个字典应用程序)。 在 ListView 中选择一个项目后,我希望它突出显示。我通过在 XML 文件中为 ListView 项使用以下属性来实现这一点。
android:choiceMode="singleChoice"
android:listSelector="@android:color/darker_gray"
就项目的选择而言,这可以正常工作。但问题是当我滚动列表时,即使所选项目不在列表中,选择有时也会停留在列表的底部或顶部(视情况而定)。这是解释我的问题的屏幕截图。
第一张图片显示没有选择;在第二张图片中,我选择了 101,因此更新了第二个片段。在第三张图片中,即使没有显示 101,ListView 的一部分也被突出显示。
有什么问题?
谢谢。
编辑 这是 OnItemClick() 方法。
public void onItemClick(AdapterView<?> arg0, View view, int arg2, long arg3) {
String selectedWord = words.get(arg2); //words in an ArrayList which holds all the words displayed in this fragment.
Meaning meaningFragment = (Meaning) getSupportFragmentManager().
findFragmentById(R.id.fragmentMeaning);
meaningFragment.searchMeaning(selectedWord); //this method updates the other fragment.
}
编辑:
这个问题还没有解决。如果有人想看看,我已将项目上传到github。
【问题讨论】:
-
能否提供onItemClick()方法。
-
您是否尝试过查看 Eclipse 提供的示例。有一个左窗格更新右窗格详细信息的主详细信息示例,它工作正常。
-
向我们展示您的 getView 方法
-
@LenaBru:目前我没有使用自定义适配器,我正在为 ListView 使用默认的 ArrayAdapter。
-
@HpTerm:你能告诉我你说的是哪个 API 的示例吗?我将研究示例项目。