title: WebView.javaScriptEnable(true); null pointer exception error at android
body: <p>I'm trying to write a simple calculator. I have a SimpleActivity class which looks like this:</p>
  
  <pre><code>package org.muzzy.calc;
  
  import android.app.Activity;
  import android.os.Bundle;
  import android.view.View;
  import android.view.View.OnClickListener;
  import android.webkit.WebChromeClient;
  import android.webkit.WebView;
  import android.widget.Button;
  
  public class SimpleActivity extends Activity implements OnClickListener {
  /** Called when the activity is first created. */
  private WebView numer;
  private Button guzik;
  private StringBuilder wys;
  
  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
  
      numer = (WebView) findViewById(R.id.webview);
      numer.getSettings().setJavaScriptEnabled(true);
      numer.setWebChromeClient(new WebChromeClient());
  
      guzik = (Button) findViewById(R.id.button0);
      guzik.setOnClickListener(this);
      guzik = (Button) findViewById(R.id.button1);
      guzik.setOnClickListener(this);
      guzik = (Button) findViewById(R.id.button2);
      guzik.setOnClickListener(this);
      guzik = (Button) findViewById(R.id.button3);
      guzik.setOnClickListener(this);
      guzik = (Button) findViewById(R.id.button4);
      guzik.setOnClickListener(this);
      guzik = (Button) findViewById(R.id.button5);
      guzik.setOnClickListener(this);
      guzik = (Button) findViewById(R.id.button6);
      guzik.setOnClickListener(this);
      guzik = (Button) findViewById(R.id.button7);
      guzik.setOnClickListener(this);
      guzik = (Button) findViewById(R.id.button8);
      guzik.setOnClickListener(this);
      guzik = (Button) findViewById(R.id.button9);
      guzik.setOnClickListener(this);
      guzik = (Button) findViewById(R.id.plus);
      guzik.setOnClickListener(this);
      guzik = (Button) findViewById(R.id.minus);
      guzik.setOnClickListener(this);
      guzik = (Button) findViewById(R.id.multi);
      guzik.setOnClickListener(this);
      guzik = (Button) findViewById(R.id.divide);
      guzik.setOnClickListener(this);
      guzik = (Button) findViewById(R.id.leftP);
      guzik.setOnClickListener(this);
      guzik = (Button) findViewById(R.id.rightP);
      guzik.setOnClickListener(this);
  }
  
  @Override
  public void onClick(View v) {
      // TODO Auto-generated method stub
      StringBuilder wyr = new StringBuilder();
  
      switch (v.getId()) {
      case R.id.bs:
          if (wyr.length() &gt; 0)
              wyr.deleteCharAt(wyr.length() - 1);
          break;
      case R.id.ac:
          if (wyr.length() &gt; 0)
              wyr.delete(0, wyr.length());
          break;
      default:
          wyr.append(((Button) v).getText());
      }
  
      wys.append("&lt;html&gt;&lt;body&gt;");
      wys.append("&lt;script type=\"text/javascript\"&gt;document.write('");
      wys.append(wyr.toString());
      wys.append("');");
      wys.append("document.write('&lt;br /&gt;=' + eval(\"");
      wys.append(wyr.toString());
      wys.append("\"));&lt;/script&gt;");
      wys.append("&lt;/body&gt;&lt;/html&gt;");
  
      numer.loadData(wys.toString(), "application/xhtml", "UTF-8");
  }
  
  }
  </code></pre>
  
  <p>I'm starting that class from another Activity class like this:</p>
  
  <pre><code>Intent simpleIntent = new Intent(this, SimpleActivity.class);
              startActivity(simpleIntent);
  </code></pre>
  
  <p>When I'm trying to run the project on VM Android 2.3.3 I get this errors:</p>
  
  <pre><code>03-07 21:52:36.624: D/AndroidRuntime(411): Shutting down VM
  03-07 21:52:36.624: W/dalvikvm(411): threadid=1: thread exiting with uncaught exception (group=0x40015560)
  03-07 21:52:36.634: E/AndroidRuntime(411): FATAL EXCEPTION: main
  03-07 21:52:36.634: E/AndroidRuntime(411): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.muzzy.calc/org.muzzy.calc.SimpleActivity}: java.lang.NullPointerException
  03-07 21:52:36.634: E/AndroidRuntime(411):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
  03-07 21:52:36.634: E/AndroidRuntime(411):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
  03-07 21:52:36.634: E/AndroidRuntime(411):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
  03-07 21:52:36.634: E/AndroidRuntime(411):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
  03-07 21:52:36.634: E/AndroidRuntime(411):  at android.os.Handler.dispatchMessage(Handler.java:99)
  03-07 21:52:36.634: E/AndroidRuntime(411):  at android.os.Looper.loop(Looper.java:123)
  03-07 21:52:36.634: E/AndroidRuntime(411):  at android.app.ActivityThread.main(ActivityThread.java:3683)
  03-07 21:52:36.634: E/AndroidRuntime(411):  at java.lang.reflect.Method.invokeNative(Native Method)
  03-07 21:52:36.634: E/AndroidRuntime(411):  at java.lang.reflect.Method.invoke(Method.java:507)
  03-07 21:52:36.634: E/AndroidRuntime(411):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
  03-07 21:52:36.634: E/AndroidRuntime(411):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
  03-07 21:52:36.634: E/AndroidRuntime(411):  at dalvik.system.NativeStart.main(Native Method)
  03-07 21:52:36.634: E/AndroidRuntime(411): Caused by: java.lang.NullPointerException
  03-07 21:52:36.634: E/AndroidRuntime(411):  at org.muzzy.calc.SimpleActivity.onCreate(SimpleActivity.java:25)
  03-07 21:52:36.634: E/AndroidRuntime(411):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
  03-07 21:52:36.634: E/AndroidRuntime(411):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
  03-07 21:52:36.634: E/AndroidRuntime(411):  ... 11 more
  </code></pre>
  
  <p>My xml file for simpleActivity looks like this:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="vertical" &gt;
  
  &lt;WebView
      android:id="@+id/webview"
      android:layout_width="fill_parent"
      android:layout_height="50dip"
      android:visibility="visible" /&gt;
  
  &lt;TableLayout
      android:id="@+id/tableLayout1"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:stretchColumns="0,1,2,3" &gt;
  
      &lt;TableRow
          android:id="@+id/tableRow1"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content" &gt;
  
          &lt;Button
              android:id="@+id/button1"
              android:text="@string/b1" /&gt;
  
          &lt;Button
              android:id="@+id/button2"
              android:text="@string/b2" /&gt;
  
          &lt;Button
              android:id="@+id/button3"
              android:text="@string/b3" /&gt;
  
          &lt;Button
              android:id="@+id/plus"
              android:text="@string/plus" /&gt;
      &lt;/TableRow&gt;
  
      &lt;TableRow
          android:id="@+id/tableRow2"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content" &gt;
  
          &lt;Button
              android:id="@+id/button4"
              android:text="@string/b4" /&gt;
  
          &lt;Button
              android:id="@+id/button5"
              android:text="@string/b5" /&gt;
  
          &lt;Button
              android:id="@+id/button6"
              android:text="@string/b6" /&gt;
  
          &lt;Button
              android:id="@+id/minus"
              android:text="@string/minus" /&gt;
      &lt;/TableRow&gt;
  
      &lt;TableRow
          android:id="@+id/tableRow3"
          android:layout_width="match_parent"
          android:layout_height="wrap_content" &gt;
  
          &lt;Button
              android:id="@+id/button7"
              android:text="@string/b7" /&gt;
  
          &lt;Button
              android:id="@+id/button8"
              android:text="@string/b8" /&gt;
  
          &lt;Button
              android:id="@+id/button9"
              android:text="@string/b9" /&gt;
  
          &lt;Button
              android:id="@+id/multi"
              android:text="@string/multi" /&gt;
      &lt;/TableRow&gt;
  
      &lt;TableRow
          android:id="@+id/tableRow4"
          android:layout_width="match_parent"
          android:layout_height="wrap_content" &gt;
  
          &lt;Button
              android:id="@+id/leftP"
              android:text="@string/leftParen" /&gt;
  
          &lt;Button
              android:id="@+id/button0"
              android:text="@string/b0" /&gt;
  
          &lt;Button
              android:id="@+id/rightP"
              android:text="@string/rightParen" /&gt;
  
          &lt;Button
              android:id="@+id/divide"
              android:text="@string/divide" /&gt;
      &lt;/TableRow&gt;
  
      &lt;TableRow
          android:id="@+id/tableRow5"
          android:layout_width="match_parent"
          android:layout_height="wrap_content" &gt;
  
          &lt;Button
              android:id="@+id/bs"
              android:text="@string/backspace" /&gt;
  
          &lt;Button
              android:id="@+id/dot"
              android:text="@string/dot" /&gt;
  
          &lt;Button
              android:id="@+id/ac"
              android:text="@string/allclear" /&gt;
  
          &lt;Button
              android:id="@+id/equals"
              android:text="@string/equals" /&gt;
      &lt;/TableRow&gt;
  &lt;/TableLayout&gt;
  
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>I read a bunch of tutorials and threads at lot of forums and still nothing. What am I doing wrong??</p>