現在、Android Studioで、年齢と名前を入力するアプリを開発しています。
入力フォームに入力された年齢と名前を、アプリを閉じて、その後アプリを再起動させた際に、閉じる前に入力したテキストを表示させたままにしたいと考えています。
ボタンを押して、テキストを保存するところまでできたのですが、その後の処理の仕方がいまいちわかりません。
どのような形でも良いので、その後のプログラムを教えていただけると幸いです。
今できているプログラムは、こちらです。
MainActivity
package com.example.sample1;
import androidx.appcompat.app.AppCompatActivity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final EditText editText = findViewById(R.id.edit_text); editText.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean flag) { if(!flag){ String str = editText.getText().toString().trim(); if(!str.matches("^[0-2]{2}[0-9]{2}[0-1]{1}[1-9]{1}[0-3]{1}[1-9]{1}$")){ Toast toast = Toast.makeText(MainActivity.this,"正しい入力値を入れてください",Toast.LENGTH_LONG); toast.show(); } } } }); Button saveButton = (Button)findViewById(R.id.SaveButton); saveButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { saveButtonClick(); } }); } private void saveButtonClick() { // 保存 EditText editText = (EditText)findViewById(R.id.edit_text); SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this); sp.edit().putString("SaveString", editText.getText().toString()).commit(); }
}
Activity_main
<TextView
android:paddingTop="5dp"
android:paddingLeft="5dp"
android:id="@+id/text3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/edit_text"
android:text="年齢"
/>
<EditText
android:id="@+id/edit_text2"
android:layout_width="match_parent"
android:layout_height="40dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text3"
android:inputType="number"
android:background="@drawable/edittext_flame"
android:hint="20"
android:paddingLeft="5dp"
/>
<TextView
android:paddingTop="5dp"
android:paddingLeft="5dp"
android:id="@+id/text4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/edit_text2"
android:text="氏名"
/>
<EditText
android:id="@+id/edit_text3"
android:layout_width="match_parent"
android:layout_height="40dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text4"
android:inputType="text"
android:background="@drawable/edittext_flame"
android:hint="山田太郎"
android:paddingLeft="5dp"
/>
何か解決方法があればぜひ教えていただきたいです。
また、追加するプログラムはできる限りすべて載せていただければ幸いです。
回答1件
あなたの回答
tips
プレビュー