android-edittext - PLZ帮忙!如何让应用程序保存用户在edittext中写的内容?
问题描述
如图所示,我想将用户写的内容保存为便笺。因此,当用户重新打开应用程序时,他写的笔记将保留在日历下,顺便说一句,我使用了 EditText Multiline
https://i.stack.imgur.com/jcMcJ.jpg
package com.example.test;
import androidx.appcompat.app.AppCompatActivity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity {
private EditText editText;
SharedPreferences sharedPreferences;
private static final String SHARED_PREF_NAME= "mypref";
private static final String KEY_NAME = "name";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText=findViewById(R.id.editTextTextMultiLine);
sharedPreferences=getSharedPreferences(SHARED_PREF_NAME ,MODE_PRIVATE);
String name = sharedPreferences.getString(KEY_NAME,null);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(KEY_NAME, editText.getText().toString());
editor.apply();
editor.clear();
editor.commit();
}
}
解决方案
我认为你应该移到editor.clear()
下面editor.commit()
推荐阅读
- web-scraping - 在 LinkedIn 上抓取视频的长度
- reset - 如何在点击时重置 Swiper.js?
- response - 有效但没有答案的响应的状态码
- react-native - 如何使用功能组件导航到其他组件
- nginx - 如何使用 Nginx 在子文件夹中运行 CraftCMS
- design-patterns - 演员设计模式和真实世界的例子
- java - 按自然顺序比较字符串,但忽略字符串的前缀
- azure - 在同一组织但在 azure devops 中的不同项目中共享工件的最佳方式
- java - Error : .onLoad failed in loadNamespace() for 'rJava', details: call: inDL(x, as.logical(local), as.logical(now), ...)
- typescript - 打字稿更改输出目录结构以包含 src