title: null pointer reference android java
body: <p>Hey guys i have funny little bug that i have been trying to figure now keep in mind i am student. Would like to know why it is happening ill display the class and where the error is occuring. Thankyou in advanced.</p>
  
  <pre><code>                package com.example.assignment;
  
  
            import android.app.Activity;
            import android.content.Intent;
            import android.database.Cursor;
            import android.database.SQLException;
            import android.database.sqlite.SQLiteDatabase;
            import android.os.Bundle;
            import android.util.Log;
            import android.view.Menu;
            import android.view.MenuInflater;
            import android.view.MenuItem;
            import android.view.View;
            import android.view.View.OnClickListener;
            import android.widget.Button;
            import android.widget.EditText;
            import android.widget.TextView;
  
  
      public class ViewRate extends Activity implements  OnClickListener {
  
  private int rowID;
  private TextView codetv;
  private TextView signtv;
  private TextView ratetv;
  private final String dbName="CurrencyDB";
  private final String tableName="Rates";
  SQLiteDatabase sampleDB=null;   
  //
  EditText torate, fromrate;
  Button convertto,convertfrom;
  TextView conRate;
  
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      // TODO Auto-generated method stub
      super.onCreate(savedInstanceState);
      setContentView(R.layout.viewrate);
      setViews();     
      Bundle extra=getIntent().getExtras();
      rowID=extra.getInt(MainActivity.ROW_ID); 
      fillViews();        
      convertto = (Button)findViewById(R.id.convertto);       
      convertfrom =(Button)findViewById(R.id.convertfrom);
      convertfrom.setOnClickListener(from);
      convertto.setOnClickListener(to);}
  
  private OnClickListener to = new OnClickListener() { &lt;-------ERROR
  
      @Override
      public void onClick(View v) {
          // TODO Auto-generated method stub
          //converttocur();
                         conRate.setText("pressed"); &lt;------testing still wont work
      }
  };
     private OnClickListener from = new OnClickListener() { &lt;--------ERROR
  
      @Override
      public void onClick(View v) {
          // TODO Auto-generated method stub
          //convertfromcur();
          conRate.setText("pressed"); &lt;--------testing
      }
        };
  
          private void convertfromcur() {
      // TODO Auto-generated method stub
      try {
          double val = Double.parseDouble(ratetv.getText().toString());
          double val2 = Double.parseDouble(fromrate.getText().toString());
          double com = (val / val2);
  
          conRate.setText("RATE:" + com);
  
  
      } catch (Exception e) {
          // TODO: handle exception
          conRate.setText("Error");
      }
  }
  
  
  
  private void converttocur() {
      // TODO Auto-generated method stub
      try {
          double val = Double.parseDouble(ratetv.getText().toString());
          double val2 = Double.parseDouble(torate.getText().toString());
          double com = (val * val2);          
          conRate.setText("RATE:" + com);         
  
      } catch (Exception e) {
          // TODO: handle exception
          conRate.setText("Error");
      }
  
  }
  
  private void fillViews() {
      // TODO Auto-generated method stub
      try{
          sampleDB=this.openOrCreateDatabase(dbName, MODE_PRIVATE, null);
          Cursor c = sampleDB.rawQuery("Select * from " +tableName+" where id                      ?", new String[] {String.valueOf(rowID)}); 
          if(c!=null &amp;&amp; c.moveToFirst()==true){               
              String code=c.getString(c.getColumnIndex("Code"));
              String sign=c.getString(c.getColumnIndex("Sign"));
              String rate=c.getString(c.getColumnIndex("Rate"));
              codetv.setText(code);
              signtv.setText(sign);
              ratetv.setText(rate);         
          }           
      }
      catch(SQLException e){
          Log.e(getClass().getSimpleName(),"Could not open database");
      }
      finally{
          if(sampleDB!=null){
              sampleDB.close();
          }
      }
  }
  
  private void setViews() {
      // TODO Auto-generated method stub
      codetv=(TextView)findViewById(R.id.code);
      signtv=(TextView)findViewById(R.id.sign);
      ratetv=(TextView)findViewById(R.id.rate);
  }
  
  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
      // TODO Auto-generated method stub
      super.onCreateOptionsMenu(menu);
      MenuInflater inflater=getMenuInflater();
      inflater.inflate(R.menu.viewtask,menu);
      return true;
  }
  
  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
      // TODO Auto-generated method stub
  
      switch(item.getItemId()){
      case R.id.edit:
          getEdit();
          return true;
      case R.id.delete:
          getDelete();
          return true;
      default:
           return super.onOptionsItemSelected(item);
      }
  }
  
  private void getDelete() {
      //TODO Auto-generated method stub
      try{
          sampleDB=this.openOrCreateDatabase(dbName, MODE_PRIVATE,null);
          sampleDB.delete(tableName, "id= "+rowID,null);
      }
  
      catch(SQLException e){
          Log.e(getClass().getSimpleName(),"Could not open dB");
      }
      finally {
          if(sampleDB!=null){
              sampleDB.close();
          }
  
      }
  }
  
  private void getEdit(){
      //TODO Auto-generated method stub
      Intent addEdit=new Intent(this,AddEdit.class);
      addEdit.putExtra("ID",rowID);
      addEdit.putExtra("code",codetv.getText().toString());
      addEdit.putExtra("sign",signtv.getText().toString());
      addEdit.putExtra("rate",ratetv.getText().toString());
      startActivity(addEdit);
  }
  
  
  
  @Override
  public void onClick(View v) {
      // TODO Auto-generated method stub
  
  }
  
     }
  </code></pre>
  
  <p>And so the error is on the button clicks and i getting this error message</p>
  
  <pre><code>  E/AndroidRuntime(2524): FATAL EXCEPTION: main
    E/AndroidRuntime(2524): java.lang.NullPointerException
    E/AndroidRuntime(2524):at .example.assignment.ViewRate.converttocur(ViewRate.java:96)
    E/AndroidRuntime(2524):at com.example.assignment.ViewRate.access$0(ViewRate.java:86)
    E/AndroidRuntime(2524):at com.example.assignment.ViewRate$1.onClick(ViewRate.java:55)
    E/AndroidRuntime(2524):   at android.view.View.performClick(View.java:4202)
    E/AndroidRuntime(2524):   at android.view.View$PerformClick.run(View.java:17340)
    E/AndroidRuntime(2524):   at android.os.Handler.handleCallback(Handler.java:725)
    E/AndroidRuntime(2524):   at android.os.Handler.dispatchMessage(Handler.java:92)
    E/AndroidRuntime(2524):   at android.os.Looper.loop(Looper.java:137)
    E/AndroidRuntime(2524):at android.app.ActivityThread.main(ActivityThread.java:5039)
    E/AndroidRuntime(2524):at java.lang.reflect.Method.invokeNative(Native Method)
    E/AndroidRuntime(2524):   at java.lang.reflect.Method.invoke(Method.java:511)
    E/AndroidRuntime(2524):at     com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
     E/AndroidRuntime(2524):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
   E/AndroidRuntime(2524):    at dalvik.system.NativeStart.main(Native Method)
  </code></pre>
  
  <p>so here is the other logcat</p>
  
  <pre><code>  E/AndroidRuntime(2743): FATAL EXCEPTION: main
    E/AndroidRuntime(2743): java.lang.NullPointerException
    E/AndroidRuntime(2743):   at com.example.assignment.ViewRate$1.onClick(ViewRate.java:56)
    E/AndroidRuntime(2743):   at android.view.View.performClick(View.java:4202)
    E/AndroidRuntime(2743):   at android.view.View$PerformClick.run(View.java:17340)
    E/AndroidRuntime(2743):   at android.os.Handler.handleCallback(Handler.java:725)
    E/AndroidRuntime(2743):   at android.os.Handler.dispatchMessage(Handler.java:92)
    E/AndroidRuntime(2743):   at android.os.Looper.loop(Looper.java:137)
    E/AndroidRuntime(2743):   at android.app.ActivityThread.main(ActivityThread.java:5039)
    E/AndroidRuntime(2743):   at java.lang.reflect.Method.invokeNative(Native Method)
    E/AndroidRuntime(2743):   at java.lang.reflect.Method.invoke(Method.java:511)
    E/AndroidRuntime(2743):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
   E/AndroidRuntime(2743):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
    E/AndroidRuntime(2743):   at dalvik.system.NativeStart.main(Native Method)
  </code></pre>