Я хочу создать приложение, в котором пользователь вводит несколько строк внутри
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="horizontal">
<com.google.android.material.textfield.TextInputLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:textColorHint="#ffffff"
app:errorEnabled="true">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/texto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:backgroundTint="#4249ff"
android:hint="@string/BtnO"
android:textColor="#ffffff" />
</com.google.android.material.textfield.TextInputLayout>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="confirmInput"
android:text="@string/Btns" />
</LinearLayout>
. Поэтому, когда пользователь нажимает кнопку подтверждения, я хочу, чтобы оно было сохранено, но вместо этого происходит сбой приложения в первый раз. Я использую общие настройки и не совсем понимаю их. Я не сохраняю значение для пользователя. Также я знаю, что использовал подсказку, но с моими общими настройками она заменяет подсказку на текст, а не остается такой. , Вот мой java код:
public class MainActivity extends AppCompatActivity {
private EditText nameInput;
private EditText homeInput;
private SharedPreferences prefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SharedPreferences prefs= getSharedPreferences("my_data",MODE_PRIVATE);
String name = prefs.getString("MY_NAME","name");
String home = prefs.getString("MY_HOME","home");
((EditText)findViewById(R.id.texto)).setText(name);
((EditText)findViewById(R.id.textd)).setText(home);
nameInput =(EditText)findViewById(R.id.texto);
nameInput =(EditText)findViewById(R.id.textd);
}
public void copy(View view) {
}
public void confirmInput(View view) {
String name=nameInput.getText().toString();
SharedPreferences.Editor editor = prefs.edit();
editor.putString("MY_NAME",name);
editor.apply();
}
public void confirmInput2(View view) {
String home=homeInput.getText().toString();
SharedPreferences.Editor editor=prefs.edit();
editor.putString("MY_HOME",home);
editor.apply();
}
}