Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- i am getting the null pointer Exception at ViewRoot.Draw(boolean) in android.how to solve this?
- here is my code
- LayoutInflater li= LayoutInflater.from(this);
- View textEntryView = li.inflate(R.layout.alertbox, null);
- final AlertDialog.Builder dialog = new AlertDialog.Builder(this);
- dialog.setTitle("Enter the places");
- dialog.setView(textEntryView);
- splc = (EditText) textEntryView.findViewById(R.id.strtplace);
- dialog.setPositiveButton("Ok", new OnClickListener(){
- @Override
- public void onClick(DialogInterface dialog, int which) {
- // TODO Auto-generated method stub
- pd = ProgressDialog.show(TravellogActivity.this, "Working..", "Searching your address", true, false);
- //Show a progress dialog
- searchAdress = new Thread(){
- public void run(){
- String addressInput = splc.getText().toString(); // Get input text
- try {
- foundAdresses = gc.getFromLocationName(addressInput, 5); // Search addresses
- Thread.sleep(1500);
- } catch (Exception e) {
- // @todo: Show error message
- }
- showAdressResults.sendEmptyMessage(0);
- }
- };
- searchAdress.start();
- }
- });
- private Handler showAdressResults = new Handler() {
- @Override
- public void handleMessage(Message msg) {
- pd.dismiss();
- if (foundAdresses.size() == 0) { // if no address found,
- // display an error
- //
- // p = new GeoPoint((int) (foundAdresses.get(0).getLatitude() * 1E6),
- // (int) (foundAdresses.get(0).getLongitude() * 1E6));
- //
- //
- Dialog locationError = new AlertDialog.Builder(
- TravellogActivity.this).setIcon(0).setTitle(
- "Error").setPositiveButton(R.string.ok, null)
- .setMessage(
- "Sorry, your address doesn't exist.")
- .create();
- locationError.show();
- } else { // else display address on map
- for (int i = 0; i < foundAdresses.size(); ++i) {
- // Save results as Longitude and Latitude
- // @todo: if more than one result, then show a
- // select-list
- Address x = foundAdresses.get(i);
- latit = x.getLatitude();
- longi = x.getLongitude();
- }
- navigateToLocation((latit * 1000000), (longi * 1000000),myMapView); // display the found address
- };
- return ;
- }
- private void navigateToLocation(double latitude, double longitude,
- MapView myMapView) {
- // TODO Auto-generated method stub
- p = new GeoPoint((int) (foundAdresses.get(0).getLatitude() * 1E6),
- (int) (foundAdresses.get(0).getLongitude() * 1E6));
- MC.animateTo(p);
- myMapView.invalidate();
- protected class MyLocationOverlay extends com.google.android.maps.Overlay {
- @Override
- public boolean draw(Canvas canvas, MapView myMapView, boolean shadow, long when) {
- Paint paint = new Paint();
- super.draw(canvas, myMapView, shadow);
- // Converts lat/lng-Point to OUR coordinates on the screen.
- Point myScreenCoords = new Point();
- myMapView.getProjection().toPixels(p, myScreenCoords);
- paint.setStrokeWidth(1);
- paint.setARGB(255, 255, 255, 255);
- paint.setStyle(Paint.Style.STROKE);
- Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.marker);
- canvas.drawBitmap(bmp, myScreenCoords.x, myScreenCoords.y, paint);
- canvas.drawText("I am here...", myScreenCoords.x, myScreenCoords.y, paint);
Add Comment
Please, Sign In to add comment