Android.support ...片段读取共享偏好

时间:2014-05-28 09:43:20

标签: android sharedpreferences

在我的应用中,我需要使用android.support ...片段,然后我需要从片段中的sharedpreferences获取用户名。我使用跟随代码来获取共享偏好,但它会引发错误,我很困惑,谁可以帮助我,提前感谢。

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    try {
        sharedPreferences = this.getActivity().getSharedPreferences("USERINFO", 0);
    } catch (ClassCastException e) {
        e.printStackTrace();
    }
   ... 
   ...
  }

错误代码

05-28 17:31:53.212: E/InputEventReceiver(7763): Exception dispatching input event.
05-28 17:31:53.212: E/MessageQueue-JNI(7763): Exception in MessageQueue callback:         handleReceiveCallback
05-28 17:31:53.217: E/MessageQueue-JNI(7763): java.lang.ClassCastException:     android.widget.TextView cannot be cast to android.widget.Button
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at com.small.chowhound.fragment.FindFragment.onCreateView(FindFragment.java:57)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.support.v4.app.Fragment.performCreateView(Fragment.java:1500)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:938)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1115)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1478)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:478)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:163)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.support.v4.view.ViewPager.populate(ViewPager.java:1068)  
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.support.v4.view.ViewPager.populate(ViewPager.java:914)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.support.v4.view.ViewPager.onInterceptTouchEvent(ViewPager.java:1891)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1833)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2244)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1907)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2244)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1907)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2244)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1907)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1938)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1392)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.app.Activity.dispatchTouchEvent(Activity.java:2408)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.support.v7.app.ActionBarActivityDelegateICS$WindowCallbackWrapper.dispatchTouchEvent(ActionBarActivityDelegateICS.java:268)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1886)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.view.View.dispatchPointerEvent(View.java:7323)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3560)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3490)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4637)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4597)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4749)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:171)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.os.MessageQueue.nativePollOnce(Native Method)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.os.MessageQueue.next(MessageQueue.java:125)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.os.Looper.loop(Looper.java:140)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at android.app.ActivityThread.main(ActivityThread.java:5000)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at java.lang.reflect.Method.invokeNative(Native Method)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at java.lang.reflect.Method.invoke(Method.java:511)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
05-28 17:31:53.217: E/MessageQueue-JNI(7763):   at dalvik.system.NativeStart.main(Native Method)
05-28 17:31:53.217: D/AndroidRuntime(7763): Shutting down VM
05-28 17:31:53.217: W/dalvikvm(7763): threadid=1: thread exiting with uncaught exception (group=0x40e8e908)
05-28 17:31:53.223: E/AndroidRuntime(7763): FATAL EXCEPTION: main
05-28 17:31:53.223: E/AndroidRuntime(7763): java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.Button
05-28 17:31:53.223: E/AndroidRuntime(7763):     at com.small.chowhound.fragment.FindFragment.onCreateView(FindFragment.java:57)  
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.support.v4.app.Fragment.performCreateView(Fragment.java:1500) 
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:938)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1115)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1478)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:478)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:163)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.support.v4.view.ViewPager.populate(ViewPager.java:1068)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.support.v4.view.ViewPager.populate(ViewPager.java:914)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.support.v4.view.ViewPager.onInterceptTouchEvent(ViewPager.java:1891)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1833)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2244)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1907)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2244)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1907)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2244)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1907)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1938)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1392)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.app.Activity.dispatchTouchEvent(Activity.java:2408)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.support.v7.app.ActionBarActivityDelegateICS$WindowCallbackWrapper.dispatchTouchEvent(ActionBarActivityDelegateICS.java:268)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1886)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.view.View.dispatchPointerEvent(View.java:7323)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3560)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3490)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at and roid.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4637)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4597)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4749)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:171)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.os.MessageQueue.nativePollOnce(Native Method)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.os.MessageQueue.next(MessageQueue.java:125)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.os.Looper.loop(Looper.java:140)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at android.app.ActivityThread.main(ActivityThread.java:5000)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at java.lang.reflect.Method.invokeNative(Native Method)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at java.lang.reflect.Method.invoke(Method.java:511)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
05-28 17:31:53.223: E/AndroidRuntime(7763):     at dalvik.system.NativeStart.main(Native Method)
05-28 17:32:01.265: I/ViewRootImpl(7763): Dispatch null status is 0: Finish handle input event,start at 1970-01-01 08:00:00, spent 1401269521263ms.
05-28 17:32:01.275: I/ViewRootImpl(7763): Dispatch MotionEvent { action=ACTION_DOWN, id[0]=0, x[0]=492.08875, y[0]=244.564, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=10566773, downTime=10566773, deviceId=3, source=0x1002 } status is 5 0: Deliver pointer event,start at 2014-05-28 05:31:53, spent 8145ms.
05-28 17:32:01.297: I/ViewRootImpl(7763): The current processed event of VRI is MotionEvent { action=ACTION_DOWN, id[0]=0, x[0]=492.08875, y[0]=244.564, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=10566773, downTime=10566773, deviceId=3, source=0x1002 }

1 个答案:

答案 0 :(得分:0)

我不认为问题是由读取片段中的共享偏好引起的,您尝试在FindFragment中将TextView转换为Button。