gpt4 book ai didi

android - 如何在 fragment 中创建 editText

转载 作者:太空宇宙 更新时间:2023-11-03 13:26:02 26 4
gpt4 key购买 nike

我想在 fragment 中创建可编辑的文本字段,在应用程序关闭或停止后将被保存。但是有一些错误符合 return notatki; 我已经有了这个:

public class DetailFragment2 extends Fragment {

private EditText notatki;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.e("Test", "hello");


}
@SuppressLint("SimpleDateFormat")
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup parent,
Bundle savedInstanceState) {

View view = inflater.inflate(R.layout.details2, parent, false);
notatki = (EditText) view.findViewById(R.id.editText1);
SharedPreferences settings = this.getActivity().getSharedPreferences("PREFS", 0);
notatki.setText(settings.getString("value", ""));
return view;
}
@Override
public void onStop( ){
super.onStop();
if(notatki.getText() != null) {
SharedPreferences settings = this.getActivity().getSharedPreferences("PREFS", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("value", notatki.getText().toString());
editor.commit();
}
}
}

当我将 return notatki; 更改为 return view; 它一直有效直到应用程序停止,当我想保存 editText 的内容但它没有保存任何内容时.

最佳答案

更改为

private EditText notatki;
@SuppressLint("SimpleDateFormat")
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup parent,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.details2, parent, false);
notatki = (EditText) view.findViewById(R.id.editText1);
SharedPreferences settings = this.getActivity().getSharedPreferences("PREFS", 0);
notatki.setText(settings.getString("value", ""));

return view; // return view here instead of notaki
}

您已经将 EditText 声明为类成员

 private EditText notatki;

所以只需在onCreateView中初始化即可。

关于android - 如何在 fragment 中创建 editText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19949677/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com