Есть ли способ получить текущее положение меню картыScrollView?получить текущее положение меню
Я звоню invalidateOptionsMenu()
, когда распознаются знаки Swipe_Left и Swipe_Right.
Я попытался, используя следующий код
@Override
public boolean onPreparePanel(int featureId,View view, Menu menu)
{
menu.clear();
mPosition = mCardScroller.getSelectedItemPosition();
Log.i("swiped", Integer.toString(mPosition));
switch(mPosition)
{
case 0:
getMenuInflater().inflate(R.menu.main_menu_0, menu);
break;
case 1:
getMenuInflater().inflate(R.menu.main_menu_1, menu);
break;
case 2:
getMenuInflater().inflate(R.menu.main_menu_2, menu);
break;
}
return super.onPreparePanel(featureId, view, menu);
}
однако mCardScroller.getSelectedItemPosition();
получает позицию, которая является активной, прежде чем ударяя. Мне нужно, чтобы получить эту позицию после салфетки, и все еще убедитесь, что меню снова надуто, поэтому меню отображается для соответствующей карты.
Я пробовал использовать -1 и +1, а только проблема с этим, когда я делаю жесткий салфетки, поэтому он пропускает несколько карточек, номер больше не будет прав.
Кто-нибудь знает о решении этой проблемы?
Я не думаю, что решает мою проблему вообще. onItemSelected нуждается в таких параметрах, как «адаптер, вид, позиция, идентификатор» в вызове. Если бы я знал, что это за позиция, я бы не имел этой проблемы. – TheUnknown
Это метод обратного вызова, который GDK будет вызывать после того, как элемент был выбран (что стало возможным благодаря слушателю). Вы не будете называть это сами. Как только он вызывается, вы получите доступ к этим параметрам. – Koh
Я получаю то, что вы сейчас пытаетесь сказать. Однако у меня это реализовано, и я, похоже, не могу получить доступ к параметрам. Я могу переусердствовать. В настоящее время я исправил его, вызвав класс runnable, который ждет несколько миллисекунд после того, как я применил другую карту, чтобы вызвать 'getSelectedItemPosition()', что заставляет меня получить правильную позицию. но я думаю, что это своего рода грязное исправление и, возможно, не лучший способ пойти – TheUnknown