Note that there are some explanatory texts on larger screens.

plurals
  1. POApplication Crashes while changing activities
    text
    copied!<p>I've been working on support for multiple screens in my app. However, when my screen is detected as a 480x800 screen, it switches to the Activity for that resolution, but at that point it crashes...</p> <p>This is the detect.java, where It makes a decision based on the screen resolution:</p> <pre><code>package com.example.mywallpapers; import android.app.Activity; import android.content.Intent; import android.graphics.Point; import android.os.Build; import android.os.Bundle; import android.view.Display; import android.view.WindowManager; public class Detect extends Activity { @SuppressWarnings("deprecation") @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); int width = 0; Point size = new Point(); WindowManager w = getWindowManager(); if (Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.HONEYCOMB_MR2) { w.getDefaultDisplay().getSize(size); width = size.x; } else { Display d = w.getDefaultDisplay(); width = d.getWidth(); } if (width == 480) { startActivity(new Intent(Detect.this, SevenTwentyOne.class)); } else if (width == 720) { startActivity(new Intent("com.example.mywallpapers.FOUREIGHTONE")); } else { startActivity(new Intent("com.example.mywallpapers.FOUREIGHTONE")); } } } </code></pre> <p>This is my SevenTwentyOne class (which isn't for the 1280x720 resolution, but for the 480x800)</p> <pre><code>package com.example.mywallpapers; import java.io.IOException; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.media.MediaPlayer; import android.os.Bundle; import android.view.Gravity; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.Toast; import com.mopub.mobileads.MoPubView; public class SevenTwentyOne extends Activity { ImageView display; int toPhone; private MoPubView mAdView; MediaPlayer knopje; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.foureightyeighthundredeen); mAdView = (MoPubView) findViewById(R.id.adview); mAdView.setAdUnitId("e95a36beb72611e281c11231392559e4"); // Enter your // Ad Unit // ID from // www.mopub.com mAdView.loadAd(); display = (ImageView) findViewById(R.id.WaP49); Button image1 = (Button) findViewById(R.id.WaP50); Button image2 = (Button) findViewById(R.id.WaP51); Button image3 = (Button) findViewById(R.id.WaP52); Button image4 = (Button) findViewById(R.id.WaP53); Button image5 = (Button) findViewById(R.id.WaP54); Button image6 = (Button) findViewById(R.id.WaP55); Button image7 = (Button) findViewById(R.id.WaP56); Button image8 = (Button) findViewById(R.id.WaP57); Button image9 = (Button) findViewById(R.id.WaP58); Button image10 = (Button) findViewById(R.id.WaP59); Button image11 = (Button) findViewById(R.id.WaP60); Button image12 = (Button) findViewById(R.id.WaP61); Button image13 = (Button) findViewById(R.id.WaP62); Button image14 = (Button) findViewById(R.id.WaP63); Button image15 = (Button) findViewById(R.id.WaP64); Button image16 = (Button) findViewById(R.id.WaP65); Button image17 = (Button) findViewById(R.id.WaP66); Button image18 = (Button) findViewById(R.id.WaP67); Button image19 = (Button) findViewById(R.id.WaP68); Button image20 = (Button) findViewById(R.id.WaP69); Button image21 = (Button) findViewById(R.id.WaP70); Button image22 = (Button) findViewById(R.id.WaP71); Button image23 = (Button) findViewById(R.id.WaP72); Button image24 = (Button) findViewById(R.id.WaP73); Button image25 = (Button) findViewById(R.id.WaP74); Button image26 = (Button) findViewById(R.id.WaP75); Button image27 = (Button) findViewById(R.id.WaP76); Button image28 = (Button) findViewById(R.id.WaP77); Button image29 = (Button) findViewById(R.id.WaP78); Button image30 = (Button) findViewById(R.id.WaP79); Button image31 = (Button) findViewById(R.id.WaP80); Button image32 = (Button) findViewById(R.id.WaP81); Button image33 = (Button) findViewById(R.id.WaP82); Button image34 = (Button) findViewById(R.id.WaP83); Button image35 = (Button) findViewById(R.id.WaP84); Button image36 = (Button) findViewById(R.id.WaP85); Button image37 = (Button) findViewById(R.id.WaP86); Button image38 = (Button) findViewById(R.id.WaP87); Button image39 = (Button) findViewById(R.id.WaP88); Button image40 = (Button) findViewById(R.id.WaP89); Button image41 = (Button) findViewById(R.id.WaP90); Button image42 = (Button) findViewById(R.id.WaP91); Button image43 = (Button) findViewById(R.id.WaP92); Button image44 = (Button) findViewById(R.id.WaP93); Button image45 = (Button) findViewById(R.id.WaP94); Button image46 = (Button) findViewById(R.id.WaP95); Button image47 = (Button) findViewById(R.id.WaP96); Button setWall = (Button) findViewById(R.id.SetWallPaperButton); toPhone = R.drawable.a_aardbeien; knopje = MediaPlayer.create(getApplicationContext(), R.raw.button); image1.setOnClickListener(new View.OnClickListener() { // Line 90 @Override public void onClick(View arg0) { display.setImageResource(R.drawable.aardmannetje); toPhone = R.drawable.a_aardmannetje; knopje.start(); } }); image2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.aardbeien); toPhone = R.drawable.a_aardbeien; knopje.start(); } }); image3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.android); toPhone = R.drawable.a_android; knopje.start(); } }); image4.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.batman); toPhone = R.drawable.a_batman; knopje.start(); } }); image5.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.bij); toPhone = R.drawable.a_bij; knopje.start(); } }); image6.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.blaadjes); toPhone = R.drawable.a_blaadjes; knopje.start(); } }); image7.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.bliksem); toPhone = R.drawable.a_bliksem; knopje.start(); } }); image8.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.bloemblaadjes); toPhone = R.drawable.a_bloemblaadjes; knopje.start(); } }); image9.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.bloemetjes); toPhone = R.drawable.a_bloemetjes; knopje.start(); } }); image10.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.blokjes); toPhone = R.drawable.a_blokjes; knopje.start(); } }); image11.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.bubbels); toPhone = R.drawable.a_bubbels; knopje.start(); } }); image12.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.chocolade); toPhone = R.drawable.a_chocolade; knopje.start(); } }); image13.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.closeuproos); toPhone = R.drawable.a_closeuproos; knopje.start(); } }); image14.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.druppels); toPhone = R.drawable.a_druppels; knopje.start(); } }); image15.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.duinen); toPhone = R.drawable.a_duinen; knopje.start(); } }); image16.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.frambozen); toPhone = R.drawable.a_frambozen; knopje.start(); } }); image17.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.gekleurdeblokjes); toPhone = R.drawable.a_gekleurdeblokjes; knopje.start(); } }); image18.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.gekleurdeballetjes); toPhone = R.drawable.a_gekleurderondjes; knopje.start(); } }); image19.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.gekleurderoos); toPhone = R.drawable.a_gekleurderoos; knopje.start(); } }); image20.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.geld); toPhone = R.drawable.a_geld; knopje.start(); } }); image21.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.gitaar); toPhone = R.drawable.a_gitaar; knopje.start(); } }); image22.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.graslucht); toPhone = R.drawable.a_luchtgras; knopje.start(); } }); image23.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.hartjes); toPhone = R.drawable.a_hartjes; knopje.start(); } }); image24.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.hartjesdruppel); toPhone = R.drawable.a_hartjesdruppel; knopje.start(); } }); image25.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.ijsjes); toPhone = R.drawable.a_ijsjes; knopje.start(); } }); image26.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.jellybeans); toPhone = R.drawable.a_jellybeans; knopje.start(); } }); image27.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.kerstballen); toPhone = R.drawable.a_kerstballen; knopje.start(); } }); image28.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.kleurenspiraal); toPhone = R.drawable.a_kleurenspiraal; knopje.start(); } }); image29.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.kleurenhout); toPhone = R.drawable.a_kleurhout; knopje.start(); } }); image30.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.kleurstrepen); toPhone = R.drawable.a_kleurstrepen; knopje.start(); } }); image31.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.kunst); toPhone = R.drawable.a_kunst; knopje.start(); } }); image32.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.lente); toPhone = R.drawable.a_lente; knopje.start(); } }); image33.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.muziek); toPhone = R.drawable.a_muziek; knopje.start(); } }); image34.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.panterprint); toPhone = R.drawable.a_panterprint; knopje.start(); } }); image35.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.parijs); toPhone = R.drawable.a_parijs; knopje.start(); } }); image36.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.piano); toPhone = R.drawable.a_piano; knopje.start(); } }); image37.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.rozen); toPhone = R.drawable.a_rozen; knopje.start(); } }); image38.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.rozepaarsebloemetjes); toPhone = R.drawable.a_rozepaarsebloemetjes; knopje.start(); } }); image39.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.stenen); toPhone = R.drawable.a_stenen; knopje.start(); } }); image40.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.strand); toPhone = R.drawable.a_strand; knopje.start(); } }); image41.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.streepjes); toPhone = R.drawable.a_streepjes; knopje.start(); } }); image42.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.struik); toPhone = R.drawable.a_struik; knopje.start(); } }); image43.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.tjahoezullenwehetnoemen); toPhone = R.drawable.a_tjahoezullenwehetnoemen; knopje.start(); } }); image44.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.tulpen); toPhone = R.drawable.a_tulpen; knopje.start(); } }); image45.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.veren); toPhone = R.drawable.a_veren; knopje.start(); } }); image46.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.watermannetje); toPhone = R.drawable.a_watermannetje; knopje.start(); } }); image47.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { display.setImageResource(R.drawable.zwartwit); toPhone = R.drawable.a_zwartwit; knopje.start(); } }); setWall.setOnClickListener(new View.OnClickListener() { @SuppressWarnings("deprecation") @Override public void onClick(View arg0) { Bitmap whatever = BitmapFactory.decodeStream(getResources() .openRawResource(toPhone)); try { getApplicationContext().setWallpaper(whatever); } catch (IOException e) { e.printStackTrace(); } finally {knopje.start(); Toast my_toast = Toast.makeText(getApplicationContext(), "Wallpaper Set!", Toast.LENGTH_SHORT); my_toast.setGravity(Gravity.CENTER, 0, 0); my_toast.show();; } } }); }; @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); mAdView.destroy(); } @Override protected void onDestroy() { super.onDestroy(); mAdView.destroy(); } @Override protected void onResume() { // TODO Auto-generated method stub super.onResume(); mAdView = (MoPubView) findViewById(R.id.adview); mAdView.setAdUnitId("e95a36beb72611e281c11231392559e4"); // Enter your // Ad Unit // ID from // www.mopub.com mAdView.loadAd(); } } </code></pre> <p>Whenever I test my app on an 480x800 phone, it crashes with an NullPointerExeption. Any idea where that one might come from?</p> <p>This is the logCat: </p> <pre><code>05-15 11:27:47.600: E/AndroidRuntime(31642): FATAL EXCEPTION: main 05-15 11:27:47.600: E/AndroidRuntime(31642): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.mywallpapers/com.example.mywallpapers.SevenTwentyOne}: java.lang.NullPointerException 05-15 11:27:47.600: E/AndroidRuntime(31642): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2100) 05-15 11:27:47.600: E/AndroidRuntime(31642): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2125) 05-15 11:27:47.600: E/AndroidRuntime(31642): at android.app.ActivityThread.access$600(ActivityThread.java:140) 05-15 11:27:47.600: E/AndroidRuntime(31642): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1227) 05-15 11:27:47.600: E/AndroidRuntime(31642): at android.os.Handler.dispatchMessage(Handler.java:99) 05-15 11:27:47.600: E/AndroidRuntime(31642): at android.os.Looper.loop(Looper.java:137) 05-15 11:27:47.600: E/AndroidRuntime(31642): at android.app.ActivityThread.main(ActivityThread.java:4898) 05-15 11:27:47.600: E/AndroidRuntime(31642): at java.lang.reflect.Method.invokeNative(Native Method) 05-15 11:27:47.600: E/AndroidRuntime(31642): at java.lang.reflect.Method.invoke(Method.java:511) 05-15 11:27:47.600: E/AndroidRuntime(31642): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008) 05-15 11:27:47.600: E/AndroidRuntime(31642): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775) 05-15 11:27:47.600: E/AndroidRuntime(31642): at dalvik.system.NativeStart.main(Native Method) 05-15 11:27:47.600: E/AndroidRuntime(31642): Caused by: java.lang.NullPointerException 05-15 11:27:47.600: E/AndroidRuntime(31642): at com.example.mywallpapers.SevenTwentyOne.onCreate(SevenTwentyOne.java:90) 05-15 11:27:47.600: E/AndroidRuntime(31642): at android.app.Activity.performCreate(Activity.java:5206) 05-15 11:27:47.600: E/AndroidRuntime(31642): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094) 05-15 11:27:47.600: E/AndroidRuntime(31642): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2064) 05-15 11:27:47.600: E/AndroidRuntime(31642): ... 11 more </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload