If you think the Android project opentraining 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
/**
* /*fromwww.java2s.com*/
* This is OpenTraining, an Android application for planning your your fitness training.
* Copyright (C) 2012-2014 Christian Skubich
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/package de.skubware.opentraining.activity.create_exercise;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;
import de.skubware.opentraining.R;
import de.skubware.opentraining.activity.create_exercise.ExerciseImageListAdapter.ImageData;
import de.skubware.opentraining.basic.License;
import de.skubware.opentraining.basic.License.LicenseType;
publicclass EditImageMetadataDialog extends AlertDialog{
/** Reference to original activity. */private Activity mActivity;
public EditImageMetadataDialog(final Activity activity, finalint position, final ExerciseImageListAdapter listAdapter) {
super(activity);
mActivity = activity;
// set title and message
this.setTitle(mActivity.getString(R.string.edit_image_metadata));
// CheckBox
LayoutInflater inflater = this.getLayoutInflater();
View layout = inflater.inflate(R.layout.dialog_image, null);
setView(layout);
// get views with the important content
final EditText edit_text_author = (EditText) layout.findViewById(R.id.edit_text_author);
final Spinner license_spinner = (Spinner) layout.findViewById(R.id.license_spinner);
final Spinner position_spinner = (Spinner) layout.findViewById(R.id.position_spinner);
// get image data
final ImageData imageData = (ImageData) listAdapter.getItem(position);
// positive button
this.setButton(BUTTON_POSITIVE, mActivity.getString(R.string.save), new OnClickListener() {
@Override
publicvoid onClick(DialogInterface dialog, int which) {
// save changed data
String author = edit_text_author.getText().toString();
LicenseType licenseType = (LicenseType) license_spinner.getSelectedItem();
imageData.imageLicense = new License(licenseType, author);
listAdapter.moveItem(position, position_spinner.getSelectedItemPosition());
dialog.dismiss();
}
});
// neutral button
this.setButton(BUTTON_NEUTRAL, mActivity.getString(R.string.delete_image), new OnClickListener() {
@Override
publicvoid onClick(DialogInterface dialog, int which) {
// remove image
listAdapter.remove(position);
dialog.dismiss();
}
});
// negative button
this.setButton(BUTTON_NEGATIVE, activity.getString(R.string.cancel), new OnClickListener() {
@Override
publicvoid onClick(DialogInterface dialog, int which) {
// just ignore the changed data
dialog.dismiss();
}
});
// set author
edit_text_author.setText(imageData.imageLicense.getAuthor());
// set license
ArrayAdapter<LicenseType> spinnerAdapter = new ArrayAdapter<LicenseType>(mActivity, android.R.layout.simple_spinner_item,LicenseType.values());
spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
license_spinner.setAdapter(spinnerAdapter);
int licensePosition = 0;
for(LicenseType license:License.LicenseType.values()){
if(license.equals(imageData.imageLicense.getLicenseType())){
license_spinner.setSelection(licensePosition);
continue;
}
licensePosition++;
}
// set position
Integer[] positions = newInteger[listAdapter.getCount()];
for(int i = 0; i < listAdapter.getCount();i++){
positions[i] = i+1;
}
ArrayAdapter<Integer> positionSpinnerAdapter = new ArrayAdapter<Integer>(mActivity, android.R.layout.simple_spinner_item, positions);
positionSpinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
position_spinner.setAdapter(positionSpinnerAdapter);
position_spinner.setSelection(position);
// show the dialog
show();
}
}