我用了Play Billing Library两个subscriptions,一个三个月。对于3按月订阅,我想显示当月的价格1。\n例如,按月1订阅是$1,50,3按月订阅是$3($1对于1)。但我对货币有一些问题。
这是一个code:
long priceAmountMicros = skuDetails.getPriceAmountMicros(); //3000000\nString priceCurrency = skuDetails.getPriceCurrencyCode(); //USD\n\nfloat priceFloat = (float)priceAmountMicros / 3 / 1000000; //1\nString price = new DecimalFormat("#0.00").format(priceFloat);\n\nCurrency currency = Currency.getInstance(priceCurrency);\nString symbolCurrency = currency.getSymbol();//$\n\ntextView.setText(price + " " + symbolCurrency); //1.00 $ or 70.00 \xd1\x80\xd1\x83\xd0\xb1\nRun Code Online (Sandbox Code Playgroud)\n该代码几乎可以工作。美元兑换成美元。欧元转换为\xc2\xa3等。某些货币存在一些问题,例如俄罗斯货币无法使用。RUB转换为\xd1\x80\xd1\x83\xd0\xb1,但我期望\xe2\x82\xbd
\n …我从 Firebase Crashlytics 收到异常
Fatal Exception: java.lang.IllegalStateException: Fragment MyFragment{122418b (05b123e6-aa8d-4de4-8f7e-49c95018234b)} not attached to a context.
at androidx.fragment.app.Fragment.requireContext(Fragment.java:774)
at androidx.fragment.app.Fragment.getResources(Fragment.java:838)
at com.timskiy.pregnancy.fragments.MyFragment$1$1.run(MyFragment.java:156)
at android.os.Handler.handleCallback(Handler.java:907)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7625)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)
Run Code Online (Sandbox Code Playgroud)
片段中的错误行
imageView.setColorFilter(ContextCompat.getColor(getContext(), R.color.blue));
Run Code Online (Sandbox Code Playgroud)
也试过
imageView.setColorFilter(getResources().getColor(R.color.blue));
Run Code Online (Sandbox Code Playgroud)
我在 Activity 和 FragmentStatePagerAdapter 中使用 viewPager。我需要在片段中使用什么上下文来 setColorFilter?谢谢
更新应用程序后,我Firebase几乎在所有活动中都会出错。
Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.project.app/com.project.app.MainActivity}: java.util.ConcurrentModificationException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2817)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2895)
at android.app.ActivityThread.-wrap11()
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1616)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:6651)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:824)
Caused by java.util.ConcurrentModificationException
at androidx.collection.SimpleArrayMap.put(SimpleArrayMap.java:482)
at com.google.android.gms.measurement.internal.zzin.zza(com.google.android.gms:play-services-measurement-impl@@17.2.2:108)
at com.google.android.gms.measurement.internal.zzid.onActivityCreated(com.google.android.gms:play-services-measurement-impl@@17.2.2:11)
at android.app.Application.dispatchActivityCreated(Application.java:199)
at android.app.Activity.onCreate(Activity.java:1034)
at androidx.core.app.ComponentActivity.onCreate(ComponentActivity.java:81)
at androidx.activity.ComponentActivity.onCreate(ComponentActivity.java:149)
at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:313)
at androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:106)
at com.project.app.MainActivity.onCreate(MainActivity.java:74)
at android.app.Activity.performCreate(Activity.java:7088)
at android.app.Activity.performCreate(Activity.java:7079)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1215)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2770)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2895)
at android.app.ActivityThread.-wrap11()
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1616)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:6651)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at …Run Code Online (Sandbox Code Playgroud)