0

目覚ましアプリをリリースしたばかりで、地獄でした。アラーム一覧画面を開こうとすると、特定のデバイスで機能しなくなります。一部のデバイスでは壊れているのに、他のデバイスでは壊れていない理由がわかりません。私が試したすべての電話は完全に機能しますが、他のデバイスでアラームリストを開くと、それが爆発します. この種の特定のデバイスの互換性の問題については、私は本当に深く理解していません。

AlarmClock の 227 行目のコードは次のとおりです。

 View changeSettings = findViewById(R.id.alarm_settings);
        changeSettings.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    startActivity(new Intent(getApplicationContext(), SettingsActivity.class));
                }
            });

そして、次の xml 行を参照します。

<Button
    android:id="@+id/alarm_settings"
    style="?android:attr/buttonBarButtonStyle"
    android:layout_width="0.0dip" android:layout_height="fill_parent"
    android:text="@string/menu_settings"
    android:layout_weight="1.0" />

これは、Android の株価アラームの適応バージョンからソースを借りた設定アクティビティにリンクしていますが、非推奨とされている addPreferencesFromResource を使用しています。それがこの問題の原因ですか?

これは、ユーザーのデバイスからのスタック トレースです。

Nexus 7 でセットアップ アラーム ボタンを押すと、クラッシュしました

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.nathantempelman.GoodMorningAlarmFree/com.nathantempelman.alarmclockfree.AlarmClock}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2185)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2210)
at android.app.ActivityThread.access$600(ActivityThread.java:142)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1208)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4931)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.nathantempelman.alarmclockfree.AlarmClock.updateLayout(AlarmClock.java:227)
at com.nathantempelman.alarmclockfree.AlarmClock.onCreate(AlarmClock.java:210)
at android.app.Activity.performCreate(Activity.java:5008)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2139)
... 11 more

どんな助けでも素晴らしいでしょう。タブレットの問題かどうかはわかりませんが、他の人のタブレットでも発生していることは知っています。アプリを試してみたい方はこちら: https://play.google.com/store/apps/details?id=com.nathantempelman.GoodMorningAlarmFree

4

2 に答える 2

1

227行目のupdateLayoutメソッドのAlarmClockクラスにNullPointerExceptionがあります:)

Caused by: java.lang.NullPointerException
 at com.nathantempelman.alarmclockfree.AlarmClock.updateLayout(AlarmClock.java:227)
 at com.nathantempelman.alarmclockfree.AlarmClock.onCreate(AlarmClock.java:210)

私は最初にそのコードをチェックします。

コードを投稿していないので、現時点ではこれ以上お手伝いできません:)

于 2013-03-12T13:09:55.317 に答える
1

他の誰かがこれに出くわした場合に備えて、最終的な問題は、アプリケーションの一部のために借りたソースコードベースには見られなかったタブレット用の別のレイアウトファイルがあったことでした. 私は明らかに多くの機能を追加しましたが、タブレットのレイアウトを更新していませんでした。追加したものにアクセスするためのボタンが、タブレット レイアウト ファイルにありませんでした。したがって、タブレット デバイスがタブレット レイアウト ファイルをロードし、表示内の存在しないオブジェクトを検索した場合にのみ、null ポインター例外が発生します。そのファイルを削除すると、すべてが完全に機能しました。

私は知っています、ハープまたはダープ。しかし、誰かが同じ問題を抱えていて、これを確認したいかもしれません。

于 2013-04-18T17:49:15.657 に答える