P101 体型記録アプリ

Android開発に関するメモランダム

カテゴリー: はじめてのAndroidプログラミング 改訂版  閲覧数:386 配信日:2018-05-21 10:38


ic_mysize.xml


ベクタ形式の画像
・「点と点の座標」および「それを結ぶ線または面の情報」で図形を表現したグラフィック

・「書籍掲載内容」と「サンプルコード内容」が若干異なる

Android Studio 3.1.2 で、パレットの「Widgets」内にSpinnerが表示されない


▼com/example/username/mysize/MainActivity.java
package com.example.username.mysize;

import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {
   private static final String NECK = "NECK";
   private static final String SLEEVE = "SLEEVE";
   private static final String WAIST = "WAIST";
   private static final String INSEAM = "INSEAM";
   private EditText editNeck;
   private EditText editSleeve;
   private EditText editWaist;
   private EditText editInseam;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
       SharedPreferences pref =
               PreferenceManager.getDefaultSharedPreferences(this);

       String neck = pref.getString(NECK, "");
       String sleeve = pref.getString(SLEEVE, "");
       String waist = pref.getString(WAIST, "");
       String inseam = pref.getString(INSEAM, "");

       editNeck = (EditText) findViewById(R.id.neck);
       editSleeve = (EditText) findViewById(R.id.sleeve);
       editWaist = (EditText) findViewById(R.id.waist);
       editInseam = (EditText) findViewById(R.id.inseam);

       editNeck.setText(neck);
       editSleeve.setText(sleeve);
       editWaist.setText(waist);
       editInseam.setText(inseam);

       findViewById(R.id.save).setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View v) {
               saveData();
           }
       });

       findViewById(R.id.height_button)
               .setOnClickListener(new View.OnClickListener() {
                   @Override
                   public void onClick(View v) {
                       Intent intent =
                               new Intent(MainActivity.this, HeightActivity.class);
                       startActivity(intent);

                   }
               });
   }

   private void saveData() {
       SharedPreferences pref =
               PreferenceManager.getDefaultSharedPreferences(this);
       SharedPreferences.Editor editor = pref.edit();
       editor.putString(NECK, editNeck.getText().toString());
       editor.putString(SLEEVE, editSleeve.getText().toString());
       editor.putString(WAIST, editWaist.getText().toString());
       editor.putString(INSEAM, editInseam.getText().toString());
       editor.commit();
   }
}


▼com/example/username/mysize/HeightActivity.java
package com.example.username.mysize;

import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.SeekBar;
import android.widget.Spinner;
import android.widget.TextView;

public class HeightActivity extends AppCompatActivity {
   public static final String HEIGHT = "HEIGHT";
   private TextView mHeight;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_height);

       mHeight = (TextView) findViewById(R.id.height);

       SharedPreferences pref
               = PreferenceManager.getDefaultSharedPreferences(this);
       int height = pref.getInt(HEIGHT, 160);
       mHeight.setText(String.valueOf(height));

       /// スピナーの処理
       Spinner spinner = (Spinner) findViewById(R.id.spinner);

       spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
           // 一覧から1つを選んだ時の処理
           @Override
           public void onItemSelected(AdapterView<?> parent, View view, int position,
                                      long id) {
               // 選ばれた項目を取得してTextViewに表示
               Spinner spinner = (Spinner) parent;
               String item = (String) spinner.getSelectedItem();
               if (!item.isEmpty()) {
                   mHeight.setText(item);
               }
           }

           // 一覧で何も選択されなかった時の処理
           @Override
           public void onNothingSelected(AdapterView<?> parent) {
           }
       });

       /// シークバーの処理
       SeekBar seekBar = (SeekBar) findViewById(R.id.seekBar);
       seekBar.setProgress(height);
       seekBar.setOnSeekBarChangeListener(
               new SeekBar.OnSeekBarChangeListener() {
                   // シークバーの値が変更された
                   @Override
                   public void onProgressChanged(SeekBar seekBar, int progress,
                                                 boolean fromUser) {
                       // 変更された値をintから文字列に変換してTextViewに表示
                       String value = String.valueOf(progress);
                       mHeight.setText(value);
                   }

                   // シークバーのスライド開始
                   @Override
                   public void onStartTrackingTouch(SeekBar seekBar) {
                   }

                   // シークバーのスライド終了
                   @Override
                   public void onStopTrackingTouch(SeekBar seekBar) {
                   }
               });

       /// ラジオボタンの処理
       RadioGroup radio = (RadioGroup) findViewById(R.id.radioGroup);
       radio.setOnCheckedChangeListener(
               new RadioGroup.OnCheckedChangeListener() {
                   // ラジオグループのチェック状態が変更された時に呼び出されます
                   @Override
                   public void onCheckedChanged(RadioGroup group, int checkedId) {
                       // 選択されたラジオボタンのリソースIDより、ラジオボタンを取得する
                       RadioButton radioButton =
                               (RadioButton) findViewById(checkedId);
                       String value = radioButton.getText().toString();
                       mHeight.setText(value);
                   }
               });
   }

   @Override
   protected void onPause() {
       super.onPause();
       SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);
       SharedPreferences.Editor editor = pref.edit();
       editor.putInt(HEIGHT, Integer.parseInt(mHeight.getText().toString()));
       editor.commit();
   }
}


週間人気ページランキング / 5-12 → 5-18
順位 ページタイトル抜粋 アクセス数
アクセスが、ありませんでした! 0
2024/5/19 1:01 更新
指定期間人気ページランキング / 1970-1-1 → 2024-5-18
順位 ページタイトル抜粋 アクセス数
アクセスが、ありませんでした! 0
2024/5/19 1:01 更新