仅在特定列表视图项目上显示项目

时间:2011-08-03 22:29:05

标签: android listview listviewitem

我正在尝试在我的列表项上显示一个按钮(声明为android:visibility:在XML中“已消失”),以便在我对其执行某些手势时显示为可见。但是,如何才能正确通知getView方法才能在listview项目上显示按钮?


我尝试使用getChildAt(position),最后一次显示几个按钮。

我尝试传递位置,例如我检测到手势是从pointToPosition执行并将其传递到适配器以显示getView方法,但它同样显示几个问题。

有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我认为你可能误解了Adapter.getView()在渲染ListView时如何工作以创建或重用布局,它也需要快速,因此不鼓励使用此方法中的条件操作。虽然ListView.getChildAt()可能有效,但它无法有效地使用API​​。您的适配器将具有setViewBinder(),除非您使用的是ArrayAdapter(如果是这样,我建议使用SimpleAdapter,因为其他功能)。使用ViewBinder实现来切换按钮的可见性。

如果您希望继续使用ArrayAdapter,请使用ListView.getChildAt(int)findViewById(R.id.your_button).setVisibility()。如果这是您已经尝试过的并且设置了所有可见的按钮,请发布相关代码。

相关问题