Android Open Source - 101AndroidApps Monster Edit Dialog






From Project

Back to project page 101AndroidApps.

License

The source code is released under:

Licenced under the Creative Commons Attribution 4.0 licence. For full text see http://creativecommons.org/licenses/by/4.0/

If you think the Android project 101AndroidApps listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.hulzenga.ioi.android.app_003;
//from  www.  j  a va  2s  . co m
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import com.hulzenga.ioi.android.R;

/**
 * A small edit dialog from which the user can edit a selected monster name *
 */
public class MonsterEditDialog extends DialogFragment {

  private static final String TAG = "EDIT_DIALOG";

  // argument bundle keys used for passing information from the host to the
  // dialog and back again via the listener
  public static final String ARGUMENT_ID   = "id";
  public static final String ARGUMENT_NAME = "monsterName";

  // callback interface to communicate from this fragment to the host
  public interface EditDialogListener {
    public void onEditDialogPositiveClick(Bundle arguments);
  }

  // the host listener
  private EditDialogListener mListener = null;

  @Override
  public void onAttach(Activity activity) {
    super.onAttach(activity);

    // try to cast the host to the appropriate listener class
    try {
      mListener = (EditDialogListener) activity;
    } catch (ClassCastException e) {
      Log.e(TAG, "ClassCastException: the host has not implemented the EditDialogListener interface");
    }
  }

  @Override
  public Dialog onCreateDialog(Bundle savedInstanceState) {

    // dialog building necessities
    LayoutInflater inflator = getActivity().getLayoutInflater();
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());

    // extract data from the arguments bundle
    final Bundle arguments = getArguments();
    final String monsterName = arguments.getString(ARGUMENT_NAME);

    // define the custom view parts, dialog so no root to attach to
     @SuppressLint("InflateParams") final View editDialog = inflator.inflate(R.layout.app_003_dialog_edit, null);
    final EditText editText = (EditText) editDialog.findViewById(R.id.app_003_editDialogText);

    editText.setText(monsterName);

    // setup random button
    final Button randomMonsterButton = (Button) editDialog.findViewById(R.id.app_003_editDialogRandomButton);
    randomMonsterButton.setOnClickListener(new View.OnClickListener() {

      @Override
      public void onClick(View v) {
        editText.setText(MonsterGenerator.randomMonster());
      }
    });

    // build the dialog
    builder.setView(editDialog).setMessage(getResources().getString(R.string.app_003_edit_dialog))
        .setPositiveButton(getResources().getString(android.R.string.ok), new OnClickListener() {

          @Override
          public void onClick(DialogInterface dialog, int which) {
            // if the editText has been changed from the original
            // monster name, call back to the listener
            if (!editText.getText().toString().equals(monsterName)) {
              arguments.putString(ARGUMENT_NAME, editText.getText().toString());
              mListener.onEditDialogPositiveClick(arguments);
            }
          }
        }).setNegativeButton(getResources().getString(android.R.string.cancel), new OnClickListener() {

      @Override
      public void onClick(DialogInterface dialog, int which) {
        // do nothing
      }
    });
    return builder.create();
  }
}




Java Source Code List

com.hulzenga.ioi.android.AppActivity.java
com.hulzenga.ioi.android.AppDetailsDialog.java
com.hulzenga.ioi.android.App.java
com.hulzenga.ioi.android.TableOfContentsActivity.java
com.hulzenga.ioi.android.app_001.HelloWorldActivity.java
com.hulzenga.ioi.android.app_002.Ball.java
com.hulzenga.ioi.android.app_002.BouncyBallsActivity.java
com.hulzenga.ioi.android.app_002.BouncyBallsView.java
com.hulzenga.ioi.android.app_003.MonsterDatabaseActivity.java
com.hulzenga.ioi.android.app_003.MonsterEditDialog.java
com.hulzenga.ioi.android.app_003.MonsterGenerator.java
com.hulzenga.ioi.android.app_003.MonsterListAdapter.java
com.hulzenga.ioi.android.app_003.database.MonsterContract.java
com.hulzenga.ioi.android.app_003.database.MonsterDatabaseHelper.java
com.hulzenga.ioi.android.app_003.database.MonsterProvider.java
com.hulzenga.ioi.android.app_004.BouncyBall3dActivity.java
com.hulzenga.ioi.android.app_004.BouncyBall3dGLSurfaceView.java
com.hulzenga.ioi.android.app_004.BouncyBall3dRenderer.java
com.hulzenga.ioi.android.app_004.BouncyBallGame.java
com.hulzenga.ioi.android.app_005.ElementActivity.java
com.hulzenga.ioi.android.app_005.ElementAdapter.java
com.hulzenga.ioi.android.app_005.ElementAnimator.java
com.hulzenga.ioi.android.app_005.ElementSnakeView.java
com.hulzenga.ioi.android.app_005.ElementView.java
com.hulzenga.ioi.android.app_005.Element.java
com.hulzenga.ioi.android.app_006.EmptyFragment.java
com.hulzenga.ioi.android.app_006.ExposureFragment.java
com.hulzenga.ioi.android.app_006.SettingChangeListener.java
com.hulzenga.ioi.android.app_006.SettingIconFragment.java
com.hulzenga.ioi.android.app_006.SettingMenuFragment.java
com.hulzenga.ioi.android.app_006.SettingMenuLvl2Fragment.java
com.hulzenga.ioi.android.app_006.Setting.java
com.hulzenga.ioi.android.app_006.SimpleCameraActivity.java
com.hulzenga.ioi.android.app_006.SimpleCameraPreview.java
com.hulzenga.ioi.android.app_007.ButtonsFragment.java
com.hulzenga.ioi.android.app_007.HighScores.java
com.hulzenga.ioi.android.app_007.LinksFragment.java
com.hulzenga.ioi.android.app_007.Menu.java
com.hulzenga.ioi.android.app_007.Review.java
com.hulzenga.ioi.android.app_007.Score.java
com.hulzenga.ioi.android.app_007.StatusFragment.java
com.hulzenga.ioi.android.app_007.WikiGameActivity.java
com.hulzenga.ioi.android.app_007.Wiki.java
com.hulzenga.ioi.android.app_008.OverheidActivity.java
com.hulzenga.ioi.android.app_008.OverheidFeedAdapter.java
com.hulzenga.ioi.android.app_008.OverheidFeedFragment.java
com.hulzenga.ioi.android.app_008.OverheidFeedItem.java
com.hulzenga.ioi.android.app_008.OverheidFeed.java
com.hulzenga.ioi.android.app_008.OverheidPagerAdapter.java
com.hulzenga.ioi.android.app_009.ThumbsUpActivity.java
com.hulzenga.ioi.android.app_009.ThumbsUpServer.java
com.hulzenga.ioi.android.app_009.ThumbsUpService.java
com.hulzenga.ioi.android.app_010.CompassActivity.java
com.hulzenga.ioi.android.app_010.CompassDetailsView.java
com.hulzenga.ioi.android.app_010.CompassView.java
com.hulzenga.ioi.android.util.Constrain.java
com.hulzenga.ioi.android.util.DeveloperTools.java
com.hulzenga.ioi.android.util.FileManager.java
com.hulzenga.ioi.android.util.ScreenMetrics.java
com.hulzenga.ioi.android.util.open_gl.ColorFunctionFactory.java
com.hulzenga.ioi.android.util.open_gl.ColorFunction.java
com.hulzenga.ioi.android.util.open_gl.ShaderTools.java
com.hulzenga.ioi.android.util.open_gl.engine.NodeController.java
com.hulzenga.ioi.android.util.open_gl.engine.SceneGraph.java
com.hulzenga.ioi.android.util.open_gl.engine.SceneNode.java
com.hulzenga.ioi.android.util.open_gl.geometry.Box.java
com.hulzenga.ioi.android.util.open_gl.geometry.Cylinder.java
com.hulzenga.ioi.android.util.open_gl.geometry.Geometry.java
com.hulzenga.ioi.android.util.open_gl.geometry.Grid.java
com.hulzenga.ioi.android.util.open_gl.geometry.Sphere.java
com.hulzenga.ioi.android.util.open_gl.geometry.Transform.java
com.hulzenga.ioi.android.util.open_gl.vector.Vec3.java
com.hulzenga.ioi.android.util.open_gl.vector.Vec4.java
fi.iki.elonen.NanoHTTPD.java