gridview の onitemselected の動作は Android によって制御されているようですが、一部のアイテムを無効にして onItemSelected() をコールバックするにはどうすればよいですか?
私のコード:
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,
long id) {
if (view == null) return;
Utils.log(TAG, "view = " + view.toString() + ",pos = " + position + " , id =" + id);
//I want to disable onItemSelected after positon 3: (But I failed.)
if (position > 3) {
if (mLSV != null) {
onItemSelected(mGridView,mLSV, mLastPosition, mLastSelectedId);
return;
}
}
if (!mGridView.isFocused()) return;
if (mLSV != null) {
mLSV.setBackgroundColor(CMainUI_Model.BG_COLOR);
}
Utils.log(TAG, "onItemSelected, pos = " + position);
mLSV = view;
mLastPosition = position;
mLastSelectedId = mGridView.getSelectedItemId();
}
onItemSelected() を使用して、D-pad でナビゲートするときにアイテムの背景をフォーカスのように変更します。そして、位置 3 の後に onItemSelected() を呼び出したくなく、「フォーカス」が位置 3 で停止しました。ありがとう!