Android GridView中的视图可以聚焦,但它没有';t调用onFocusChange()方法

Android GridView中的视图可以聚焦,但它没有';t调用onFocusChange()方法,android,gridview,Android,Gridview,有一个GridView,一个适配器扩展了我自己定义的baseAdapter,在适配器类中,我重写了getView()的函数,问题是,GridView中的视图可以聚焦,但它不能调用onFocusChange()方法,我不知道为什么,由于代码太长,我没有粘贴到这里 多谢各位。 下面是我的getView方法 @Override public View getView(int position, View convertView, ViewGroup parent) { HashMap<S

有一个
GridView
,一个适配器扩展了我自己定义的
baseAdapter
,在适配器类中,我重写了
getView()
的函数,问题是,
GridView
中的视图可以聚焦,但它不能调用
onFocusChange()
方法,我不知道为什么,由于代码太长,我没有粘贴到这里

多谢各位。 下面是我的getView方法

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    HashMap<String, Object> appInfo = mAppList.get(position);
    CVButtons view ;
    if(convertView == null){
        view = new CVButtons(parent.getContext());
    }
    else{
        view = (CVButtons) convertView;
    }

    view.setImageDrawable((Drawable)appInfo.get("ItemImage"));
    view.setTextString((String)appInfo.get("ItemText"));
    view.setImageParams(75, 75);
    view.setClickable(true);
    view.setID(position);
    view.setFocusable(true);
    view.setEnabled(true);
    view.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
                int id = ((CVButtons)v).getID();
                HashMap<String, Object> item = mAppList.get(id);
                startActivity((String) item.get("ItemText"));

        }
    });
}
@覆盖
公共视图getView(int位置、视图转换视图、视图组父视图){
HashMap appInfo=mAppList.get(位置);
CVV按钮视图;
if(convertView==null){
视图=新的CVButtons(parent.getContext());
}
否则{
视图=(CVButtons)convertView;
}
view.setImageDrawable((Drawable)appInfo.get(“ItemImage”);
view.setTextString((String)appInfo.get(“ItemText”);
view.setImageParams(75,75);
视图。可点击设置(真);
视图.setID(位置);
view.setFocusable(true);
view.setEnabled(true);
view.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
intid=((CVButtons)v).getID();
HashMap item=mAppList.get(id);
startActivity((字符串)item.get(“ItemText”);
}
});
}

即使您的代码太长,粘贴也会更好,因为没有代码就很难识别问题。粘贴
getView()
methodsnippet。下面是我的getView方法,我已经解决了这个问题,我认为当将父视图focausable设置为false时,它的子视图将不会请求foucse…所以我将GridView的focausable属性设置为true,现在我将其设置为false。从您列出的代码中,我可以假设,
CVButtons
是复合视图,所以可能它的一些子视图实际上调用了onFocusedChanged()方法。是否可以检查我的支持?是的,CVButtons是一个复合视图,问题已经解决,这是由GridView引起的,我设置它不能聚焦,它工作得很好,但是当GridView可以聚焦时,它的子对象不能聚焦,这是我不想看到的情况@Teoretiken即使你的代码太长,如果粘贴它会更好,因为没有代码就很难识别问题。粘贴
getView()
methodsnippet。下面是我的getView方法,我已经解决了这个问题,我认为当将父视图focausable设置为false时,它的子视图将不会请求foucse…所以我将GridView的focausable属性设置为true,现在我将其设置为false。从您列出的代码中,我可以假设,
CVButtons
是复合视图,所以可能它的一些子视图实际上调用了onFocusedChanged()方法。是否可以检查我的支持?是的,CVButtons是一个复合视图,问题已经解决,它是由GridView引起的,我设置它不能聚焦,它工作得很好,但是当GridView可以聚焦时,它的子对象不能聚焦,这是我不想看到的@teoREtik情况