diff --git a/app/src/main/java/com/example/cosmosclient/views/AddRequestActivity.java b/app/src/main/java/com/example/cosmosclient/views/AddRequestActivity.java index 4348ce5..a9307f1 100644 --- a/app/src/main/java/com/example/cosmosclient/views/AddRequestActivity.java +++ b/app/src/main/java/com/example/cosmosclient/views/AddRequestActivity.java @@ -1,10 +1,12 @@ package com.example.cosmosclient.views; import android.app.DatePickerDialog; -import android.content.Intent; +import android.content.Context; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; +import android.view.KeyEvent; import android.view.View; +import android.view.inputmethod.InputMethodManager; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; @@ -12,7 +14,6 @@ import android.widget.EditText; import android.widget.ImageButton; import android.widget.Spinner; -import android.widget.TextView; import com.example.cosmosclient.R; import com.example.cosmosclient.entities.Request; @@ -20,10 +21,10 @@ import java.sql.Date; import java.util.Calendar; -import java.util.List; public class AddRequestActivity extends AppCompatActivity { + private InputMethodManager inputMethodManager; private ImageButton calenderButton; @@ -39,13 +40,16 @@ private String selectedSubCategory; - private Button addButon; + private Button addButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_add_request); + //キーボード表示を制御するためのオブジェクト + inputMethodManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); + calenderButton = findViewById(R.id.calenderButton); editTextProduct = findViewById(R.id.editTextProduct); @@ -56,11 +60,14 @@ setSpinner(category, Yolp.getInstance().getCategoryNames()); - addButon = findViewById(R.id.buttonAdd); + addButton = findViewById(R.id.buttonAdd); calenderButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + //キーボードを閉じる + inputMethodManager.hideSoftInputFromWindow(editTextProduct.getWindowToken(), InputMethodManager.RESULT_UNCHANGED_SHOWN); + //Calendarインスタンスを取得 final Calendar calender = Calendar.getInstance(); @@ -84,12 +91,27 @@ //dialogを表示 datePickerDialog.show(); - } }); + //editTextDeadlineにリスナーをセット + editTextDeadline.setOnKeyListener(new View.OnKeyListener() { + //コールバックとしてonKey()メソッドを定義 + @Override + public boolean onKey(View v, int keyCode, KeyEvent event) { + //イベントを取得するタイミングには、ボタンが押されてなおかつエンターキーだったときを指定 + if((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)){ + //キーボードを閉じる + inputMethodManager.hideSoftInputFromWindow(editTextProduct.getWindowToken(), InputMethodManager.RESULT_UNCHANGED_SHOWN); + + return true; + } + return false; + } + }); + // 追加ボタン - addButon.setOnClickListener(new View.OnClickListener() { + addButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // エディットテキストのテキストを取得