将焦点从ViewGroup(ListView项目)移到View(Button)

时间:2015-08-26 05:13:50

标签: android listview android-view viewgroup android-viewgroup

我有一个带有'N'个项目的ListView,List中的每个项目(ViewGroup)都有一些视图,如图像视图,文本视图和几个按钮,如下图所示

https://drive.google.com/file/d/0B0cUDScxLAxfRXRNemphazhPd1k/view?usp=sharing

我的要求是在ListView中滚动,如果我按下D-Pad中的左/右键,则最左侧或最右侧的按钮应该对焦并聚焦于整个列表视图项目应该消失。

我在xml中使用 android:nextFocusDown()并尝试 setNextFocusDownId(int)

但没有工作。

我需要在xml / java中添加其他参数吗?

注意:我的应用程序/设备中有D-pad。

1 个答案:

答案 0 :(得分:0)

我通过创建' CustomListView'

来实现这一目标

我在 CustomListView

中扩展了 ListView
public class CustomListView extends ListView
{
public CustomListView(Context context)
{
    super(context);
}

public CustomListView(Context context, AttributeSet attrs)
{
    super(context, attrs);
}

public CustomListView(Context context, AttributeSet attrs, int defStyleAttr)
{
    super(context, attrs, defStyleAttr);
}

public CustomListView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)
{
    super(context, attrs, defStyleAttr, defStyleRes);
}

我覆盖 onKeyDown onKeyUp ,我将值设置为setItemsCanFocus和{ {3}}

希望我的解决方案能为您提供帮助。