2

GPS に基づいてアラームを実装しようとしていますが、私が街にいる場合は x で、特定のピンポイントに到達するとその場所にピンポイントを配置すると、アラートまたはアラームが表示されます。完全なマップ構造も実装しました。現在地を表示し、ピンポイントを配置するようにプログラムされています。ソースコードを添付する方法がわかりませんこの方法で私を助けてくださいm Androidが本当に初めてで、その方法がわかりません。これがコードです。どこが間違っているのか教えてください。

public void onLocationChanged(Location l) 
{
 // TODO Auto-generated method stub
 lat=(int) (l.getLatitude() *1E6) ;
 longi=(int) (l.getLongitude() *1E6);
 ourLocation= new GeoPoint(lat,longi);
 OverlayItem overlayItem= new OverlayItem(ourLocation,"","");   
 CustomPinpoint custom=new CustomPinpoint(d,Main.this);
 custom.insertPinPoint(overlayItem);
 overlayList.add(custom);
 controller.setCenter(ourLocation); 
     geocoder= new Geocoder(getBaseContext(), Locale.getDefault());

    try
    {       
    List<Address>address1=geocoder.getFromLocation
    (ourLocation.getLatitudeE6()/1E6,ourLocation  .getLongitudeE6()/1E6, 1);

   if(address1.size()>0 )
    {
   for(int i=0; i<address1.get(0).getMaxAddressLineIndex();i++)
   {                
       display1 += address1.get(0).getAddressLine(i)+"\n";

    }

    }

}
catch(IOException e1)
{
    e1.printStackTrace();
    Toast.makeText(getBaseContext(), "error", Toast.LENGTH_LONG).show();
}

if(display1.equals(display))
{   
    AlertDialog alert= new AlertDialog.Builder(Main.this).create();
    alert.setTitle("Destination");
    alert.setMessage("You Reached to  destination");
    alert.setButton("OK",new DialogInterface.OnClickListener() 
{


     public void onClick(DialogInterface arg0, int arg1) 
     {
         // TODO Auto-generated method stub
      }
       });
    alert.show();   
      }
    }
4

1 に答える 1

0

上記のコードは、アラート ダイアログを表示するには不十分です。コードにアラートを適用するには、次のようなコード フォームを含める必要があります。

/**
     * Function to show settings alert dialog On pressing Settings button will
     * lauch Settings Options
     * */
    public void showSettingsAlert() {
        AlertDialog.Builder alertDialog = new AlertDialog.Builder(mContext);

        // Setting Dialog Title
        alertDialog.setTitle("GPS is settings");

        // Setting Dialog Message
        alertDialog
                .setMessage("GPS is not enabled. Do you want to go to settings menu?");

        // On pressing Settings button
        alertDialog.setPositiveButton("Settings",
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        Intent intent = new Intent(
                                Settings.ACTION_LOCATION_SOURCE_SETTINGS);
                        mContext.startActivity(intent);
                    }
                });

        // on pressing cancel button
        alertDialog.setNegativeButton("Cancel",
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.cancel();
                    }
                });

        // Showing Alert Message
        alertDialog.show();
    }

また、プロジェクトの src/ ディレクトリに、以下のような別個の Java コード (クラス) を作成する必要があります。

以下のクラス名は「AlertDialogManager.java」です。

public class AlertDialogManager {
    /**
     * Function to display simple Alert Dialog
     * @param context - application context
     * @param title - alert dialog title
     * @param message - alert message
     * @param status - success/failure (used to set icon)
     *               - pass null if you don't want icon
     * */
    public void showAlertDialog(Context context, String title, String message,
            Boolean status) {
        AlertDialog alertDialog = new AlertDialog.Builder(context).create();

        // Setting Dialog Title
        alertDialog.setTitle(title);

        // Setting Dialog Message
        alertDialog.setMessage(message);

        if(status != null)
            // Setting alert dialog icon
            alertDialog.setIcon((status) ? R.drawable.success : R.drawable.fail);

        // Setting OK Button
        alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
            }
        });

        // Showing Alert Message
        alertDialog.show();
    }
}
于 2013-01-19T15:06:43.107 に答える