android:NullPointerExceptionを示す高解像度のエミュレータ

私はプラットフォーム1.6で別のavdで同じを実行すると、プラットフォーム1.6とエミュレータで正常に動作するアプリケーションを持っています。次の例外を示しています。

12-19 10:24:26.372: E/AndroidRuntime(522): FATAL EXCEPTION: main
12-19 10:24:26.372: E/AndroidRuntime(522): java.lang.NullPointerException
12-19 10:24:26.372: E/AndroidRuntime(522):  at com.example.app.DirectionsRouteFinder.doProcess(DirectionsRouteFinder.java:189)
12-19 10:24:26.372: E/AndroidRuntime(522):  at com.example.util.UrlRun.onPostExecute(UrlRun.java:49)
12-19 10:24:26.372: E/AndroidRuntime(522):  at com.example.util.UrlRun.onPostExecute(UrlRun.java:1)
12-19 10:24:26.372: E/AndroidRuntime(522):  at android.os.AsyncTask.finish(AsyncTask.java:590)
12-19 10:24:26.372: E/AndroidRuntime(522):  at android.os.AsyncTask.access$600(AsyncTask.java:149)
12-19 10:24:26.372: E/AndroidRuntime(522):  at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:603)
12-19 10:24:26.372: E/AndroidRuntime(522):  at android.os.Handler.dispatchMessage(Handler.java:99)
12-19 10:24:26.372: E/AndroidRuntime(522):  at android.os.Looper.loop(Looper.java:126)
12-19 10:24:26.372: E/AndroidRuntime(522):  at android.app.ActivityThread.main(ActivityThread.java:3997)
12-19 10:24:26.372: E/AndroidRuntime(522):  at java.lang.reflect.Method.invokeNative(Native Method)
12-19 10:24:26.372: E/AndroidRuntime(522):  at java.lang.reflect.Method.invoke(Method.java:491)
12-19 10:24:26.372: E/AndroidRuntime(522):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
12-19 10:24:26.372: E/AndroidRuntime(522):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
12-19 10:24:26.372: E/AndroidRuntime(522):  at dalvik.system.NativeStart.main(Native Method)

nullPointer Exceptionを示すこのコード行(太字)。AsyncTaskのdoInBackgroundプロセスでUIを変更しないでください。AsyncTask.And my 3.0エミュレータのonPostExecuteでこれらの変更を行っています。これは非常に遅いです。問題??

for (RouteVehicle item : Constants.getRouteFinder()) {


                    String alert=item.getAlert();
                    if(!alert.equals("null")){
                    if(alert.equals("max_speed")){
                        maxspeed++;
                        overspeedText.setTextColor(Color.RED);
                        overlayitem.setMarker(orange);
                            }
                    else if(alert.equals("stoppage")){
                        stopage++;
                        **stoppageText.setTextColor(Color.RED)**;
                        overlayitem.setMarker(red);
                    }
                    else if(alert.equals("geofence")){
                        geofence++;
                        geoText.setTextColor(Color.RED);
                             overlayitem.setMarker(red);
                    }
                    else if(alert.equals("tank_empty")){
                        tankEmpty++;
                        tankText.setTextColor(Color.RED);
                        overlayitem.setMarker(red);
                    }
                    else{
                        sos++;
                        sosText.setTextColor(Color.RED);
                        overlayitem.setMarker(red);
                    }}

                }

私を助けてください!!

0

1 答え

レイアウトファイルを確認してください。 xhdpiレイアウトになかった要素(tankText、overlayItemなどを参照)を参照したことがあります。

1
追加された
レイアウト - v11?あなたのレイアウトフォルダの1つに問題があると確信しています。
追加された 著者 josephus,
私はそれが1.6で正常に動作していることを得る。私が言っているのは、あなたの1.6エミュレータで読み込んでいるものとは違ったレイアウトの記述がある他のレイアウトフォルダがあるということです。 layout-hdpi、layout-mdpi、layout-ldpiなどの競合が考えられます。このリンクの詳細な説明は developer.android.com/guide/practices/…
追加された 著者 josephus,
はい、そうです。通常のタブレットの使用は横向きモードですので、あなたのエミュレータはレイアウトレイアウトをデフォルトのレイアウトとして多かれ少なかれ使用します。この動作を簡単に防止または指定できますが、それは別のトピックです。
追加された 著者 josephus,
私はxhdpiのレイアウトを作成していない..私はそれはテキストビューが適切に定義されているデフォルトで通常のレイアウトファイルを取るべきだと思う。
追加された 著者 freshDroid,
レイアウトランドはタブレットのレイアウトポートとして機能していますか?
追加された 著者 freshDroid,
ありがとうございました!!!私はレイアウト - 土地ではなくレイアウト - ポートですべての変更を加えました。:-)
追加された 著者 freshDroid,