0

Я получаю следующее сообщение об ошибке при попытке использовать пункты меню с моим ViewPager + Fragments + ActionBarSherlock. Я почти уверен, что это простая ошибка, которую я просто не могу понять, как исправить.ABS и ViewPager

LogCat:

05-30 17:11:28.237: E/AndroidRuntime(19406): FATAL EXCEPTION: main 
05-30 17:11:28.237: E/AndroidRuntime(19406): java.lang.ClassCastException: java.util.ArrayList cannot be cast to android.support.v4.view.ViewPager 
05-30 17:11:28.237: E/AndroidRuntime(19406): at org.greenbot.technologies.solarphase.MainActivity.onOptionsItemSelected(MainActivity.java:74) 
05-30 17:11:28.237: E/AndroidRuntime(19406): at android.support.v4.app.Watson.onMenuItemSelected(Watson.java:118) 
05-30 17:11:28.237: E/AndroidRuntime(19406): at com.actionbarsherlock.ActionBarSherlock.callbackOptionsItemSelected(ActionBarSherlock.java:603) 
05-30 17:11:28.237: E/AndroidRuntime(19406): at com.actionbarsherlock.internal.ActionBarSherlockNative.dispatchOptionsItemSelected(ActionBarSherlockNative.java:93) 
05-30 17:11:28.237: E/AndroidRuntime(19406): at com.actionbarsherlock.app.SherlockFragmentActivity.onMenuItemSelected(SherlockFragmentActivity.java:205) 
05-30 17:11:28.237: E/AndroidRuntime(19406): at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:1033) 
05-30 17:11:28.237: E/AndroidRuntime(19406): at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735) 
05-30 17:11:28.237: E/AndroidRuntime(19406): at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:149) 
05-30 17:11:28.237: E/AndroidRuntime(19406): at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874) 
05-30 17:11:28.237: E/AndroidRuntime(19406): at com.android.internal.view.menu.ActionMenuView.invokeItem(ActionMenuView.java:547) 
05-30 17:11:28.237: E/AndroidRuntime(19406): at com.android.internal.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:115) 
05-30 17:11:28.237: E/AndroidRuntime(19406): at android.view.View.performClick(View.java:4211) 
05-30 17:11:28.237: E/AndroidRuntime(19406): at android.view.View$PerformClick.run(View.java:17362) 
05-30 17:11:28.237: E/AndroidRuntime(19406): at android.os.Handler.handleCallback(Handler.java:725) 
05-30 17:11:28.237: E/AndroidRuntime(19406): at android.os.Handler.dispatchMessage(Handler.java:92) 
05-30 17:11:28.237: E/AndroidRuntime(19406): at android.os.Looper.loop(Looper.java:137) 
05-30 17:11:28.237: E/AndroidRuntime(19406): at android.app.ActivityThread.main(ActivityThread.java:5226) 
05-30 17:11:28.237: E/AndroidRuntime(19406): at java.lang.reflect.Method.invokeNative(Native Method) 
05-30 17:11:28.237: E/AndroidRuntime(19406): at java.lang.reflect.Method.invoke(Method.java:511) 
05-30 17:11:28.237: E/AndroidRuntime(19406): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795) 
05-30 17:11:28.237: E/AndroidRuntime(19406): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562) 
05-30 17:11:28.237: E/AndroidRuntime(19406): at dalvik.system.NativeStart.main(Native Method) 

Это происходит, когда я нажимаю на мои пункты меню в коде ниже.

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater Inflater = getSupportMenuInflater(); 
    Inflater.inflate(R.menu.menu, menu); 
    return true; 
} 
@Override 
public boolean onOptionsItemSelected(MenuItem Item) { 
    final int current = ((ViewPager) mFragments).getCurrentItem(); 
    WebView web = (WebView) findViewById(current); 
    switch (Item.getItemId()) { 
    case R.id.menu_back: 
     web.goBack(); 
     return true; 
    case R.id.menu_forward: 
     web.goForward(); 
     return true; 
    case R.id.menu_refresh: 
     web.reload(); 
     return true; 
    } 
    return super.onOptionsItemSelected(Item); 
} 
+0

Что такое строка 118 в Watson.java –

ответ

1

mFragments является ArrayList, по-видимому. Вы пытаетесь сделать его ViewPager.

+0

Спасибо за ответ. Да, посмотрите, что я пытаюсь сделать, чтобы мои пункты меню контролировали, какой фрагмент просматривается в моем представлении. Я отправил вопрос раннего, связанный с пунктами меню и моим viewpager и фрагментами. ум, рассматривающий вопрос, его получил мой основной источник и я уверен, что вы увидите, что я пытаюсь сделать. http://stackoverflow.com/questions/16844288/how-to-use-actionbar-items-with-viewpager-fragments –

Смежные вопросы