Существует 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"));
}
});
}