title: EditText afterTextChanged not working: displays null
body: <p>I insert <code>Uri</code> image into <code>SQLite</code> by using below code:</p>
  
  <p><strong>Register</strong></p>
  
  <pre><code>private void insertData( String name,String pass, Uri image) throws SQLiteException {
          database = mdb.getWritableDatabase();
          ContentValues cv = new ContentValues();
          cv.put(MyDatabaseHelper.KEY_NAME,    name);
          cv.put(MyDatabaseHelper.KEY_PASSWORD, pass);
          try {
              database = mdb.getWritableDatabase();
              InputStream iStream = getContentResolver().openInputStream(image);
              byte[] inputData = Utils.getBytes(iStream);
              cv.put(MyDatabaseHelper.KEY_IMAGE,inputData);
          }catch(IOException ioe)
          {
              Log.e(TAG, "&lt;saveImageInDB&gt; Error : " + ioe.getLocalizedMessage());
          }
          database.insert(MyDatabaseHelper.TABLE_USER, null, cv);
          Toast.makeText(getApplicationContext(),"Database Created",Toast.LENGTH_SHORT).show();
          database.close();
      }
  </code></pre>
  
  <p>As I getting <code>Database Created</code>, I assume database was successfully created and data were inserted. </p>
  
  <p>In <strong>Login</strong> , I want the image retrieved from <code>SQLite</code> based on user name . </p>
  
  <pre><code>name = (EditText) findViewById(R.id.name);
  
  name.addTextChangedListener(new TextWatcher() {
      @Override
      public void onTextChanged(CharSequence s, int start, int before, int count) {
      }
  
      @Override
      public void beforeTextChanged(CharSequence s, int start, int count, int after) {
      }
  
       @Override
      public void afterTextChanged(Editable editable) {
          String personName = name.getText().toString();
          database = mdb.getWritableDatabase();
          String selectQuery = " SELECT " + MyDatabaseHelper.KEY_IMAGE + " FROM " + MyDatabaseHelper.TABLE_USER + " WHERE " + MyDatabaseHelper.KEY_NAME + " = ' " + personName + " ' ";
          Cursor cursor = database.rawQuery(selectQuery, null);
          if (cursor.moveToFirst()) {
              byte[] blob = cursor.getBlob(cursor.getColumnIndex("Image"));
              Log.e("A", blob+"");
              cursor.close();
              mdb.close();
              imageView.setImageBitmap(getRoundedBitmap(Utils.getImage(blob)));
          }
          else
          {
              Toast.makeText(getApplication(),"NULL",Toast.LENGTH_SHORT).show();
          }
      }
  });
  
      public Bitmap getRoundedBitmap(Bitmap bitmap){
      Bitmap circleBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);
      BitmapShader shader = new BitmapShader(bitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
      Paint paint = new Paint();
      paint.setShader(shader);
      paint.setAntiAlias(true);
      Canvas c = new Canvas(circleBitmap);
      c.drawCircle(bitmap.getWidth() / 2, bitmap.getHeight() / 2, bitmap.getWidth() / 2, paint);
      return circleBitmap;
     }
  </code></pre>
  
  <p><strong>MyDatabaseHelper</strong></p>
  
  <pre><code>public class MyDatabaseHelper extends SQLiteOpenHelper {
      public static final int DATABASE_VERSION=1;
      public static final String DATABASE_NAME="mm.db";
      public static final String TABLE_USER="User";
      public static final String KEY_NAME="Name";
      public static final String KEY_PASSWORD="Password";
      public static final String KEY_IMAGE="Image";
      public static final String ID="id";
  
      public void onCreate(SQLiteDatabase db) {
          db.execSQL("create table " + TABLE_USER + " ( " + ID + " INTEGER PRIMARY KEY ,Name TEXT,Password TEXT,Image BLOB )");
      }
  
      public void onUpgrade(SQLiteDatabase db, int oldVersion,int newVersion) {
          Log.w(MyDatabaseHelper.class.getName(), "Upgrading database from version" + oldVersion + "to" + newVersion + ",which will destroy all old data");
          db.execSQL("Drop TABLE IF EXISTS " + TABLE_USER);
          onCreate(db);
      }
  
      public MyDatabaseHelper(Context context)
      {
          super(context, DATABASE_NAME,null,1);
      }
  }
  </code></pre>
  
  <p><strong>Utils</strong></p>
  
  <pre><code>public class Utils {
  
      public static byte[] getImageBytes(Bitmap bitmap) {
          ByteArrayOutputStream stream = new ByteArrayOutputStream();
          bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
          return stream.toByteArray();
      }
  
      public static Bitmap getImage(byte[] image) {
          return BitmapFactory.decodeByteArray(image, 0, image.length);
      }
  
      public static byte[] getBytes(InputStream inputStream) throws IOException {
          ByteArrayOutputStream byteBuffer = new ByteArrayOutputStream();
          int bufferSize = 1024;
          byte[] buffer = new byte[bufferSize];
  
          int len = 0;
          while ((len = inputStream.read(buffer)) != -1) {
              byteBuffer.write(buffer, 0, len);
          }
          return byteBuffer.toByteArray();
      }
  }
  </code></pre>
  
  <p>After the user type his/her name on <code>EditText</code>, which named <code>name</code>, the image not retrieving, but displaying <code>Null</code> message to me ! What's wrong here ?  </p>