在android中更改微调器的文本颜色

时间:2014-09-30 02:34:26

标签: android spinner

...
spin.setOnItemSelectedListener(this);
...
@Override
public void onItemSelected(AdapterView<?> v, View arg2, int pos, long arg3) {
    SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(getActivity());
    ((TextView)v.getChildAt(0)).setTextColor(pref.getInt("color_font", 0xffff0000));    
}
// this code in Fragment A.

这是微调器文本颜色的代码。

  1. 当我第一次运行应用程序并转到片段A时,文本颜色会更改。
  2. 然后,转到片段B。
  3. 并返回到片段A,发生此错误:

    09-30 11:31:37.118: E/AndroidRuntime(2280): FATAL EXCEPTION: main
    09-30 11:31:37.118: E/AndroidRuntime(2280): java.lang.NullPointerException
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at com.that.calc.DMGCalc.onItemSelected(DMGCalc.java:680)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.widget.AdapterView.fireOnSelected(AdapterView.java:895)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.widget.AdapterView.selectionChanged(AdapterView.java:882)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.widget.AdapterView.checkSelectionChanged(AdapterView.java:1046)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.widget.AdapterView.handleDataChanged(AdapterView.java:1025)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.widget.AbsSpinner.onMeasure(AbsSpinner.java:180)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.widget.Spinner.onMeasure(Spinner.java:439)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.View.measure(View.java:15481)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1223)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:576)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.View.measure(View.java:15481)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5059)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1396)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:681)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:574)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.View.measure(View.java:15481)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:1456)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.widget.ScrollView.onMeasure(ScrollView.java:387)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.View.measure(View.java:15481)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5059)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1396)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:681)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:574)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.View.measure(View.java:15481)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5059)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.View.measure(View.java:15481)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5059)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.View.measure(View.java:15481)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5059)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.View.measure(View.java:15481)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:833)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:574)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.View.measure(View.java:15481)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at com.jeremyfeinstein.slidingmenu.lib.CustomViewAbove.onMeasure(CustomViewAbove.java:456)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.View.measure(View.java:15481)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:617)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:399)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.View.measure(View.java:15481)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5059)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2377)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.View.measure(View.java:15481)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1982)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1225)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1398)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1118)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4525)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.Choreographer.doCallbacks(Choreographer.java:555)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.Choreographer.doFrame(Choreographer.java:525)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.os.Handler.handleCallback(Handler.java:615)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.os.Handler.dispatchMessage(Handler.java:92)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.os.Looper.loop(Looper.java:137)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at android.app.ActivityThread.main(ActivityThread.java:4946)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at java.lang.reflect.Method.invokeNative(Native Method)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at java.lang.reflect.Method.invoke(Method.java:511)
    09-30 11:31:37.118: E/AndroidRuntime(2280):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:103
    
  4. 我该如何解决这个问题?

0 个答案:

没有答案