FrameLayout
中有CoordinatorLayout
。我正在Fragment
加载FrameLayout
。但无法在EditText
中设置Fragment
s的文字。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
context = getActivity();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_edit_info, container, false);
etEmail = (EditText) rootView.findViewById(R.id.etEmail);
etFullName = (EditText) rootView.findViewById(R.id.etFullName);
return inflater.inflate(R.layout.fragment_edit_info, container, false);
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
etEmail.setText("ggggg");
}
@Override
public void onResume() {
super.onResume();
etEmail.setText("ggggg");//LocalDBSP.init().getUser(context)
etFullName.setText(LocalDBSP.init().getFullName(context));
}
我尝试过很多次。很多人说这是一个错误。那么,你如何在EditText
中设置文字?
答案 0 :(得分:7)
将您的退货声明更改为:
return rootView;
您当前正在返回的View
不是您最初正在充气和设置的那个。
答案 1 :(得分:1)
您的编辑文字已存在,但您只是设置了透明背景,因此无法看到它。
android:background="#00000000"
编辑,因为上面没有解决问题尝试更新你的布局膨胀方式
public View onCreateView(LayoutInflater inflater, ViewGroup parent,
Bundle savedInstanceState) {
aView = inflater.inflate(R.layout.details2, parent, false);
EditText notatki = (EditText) aView.findViewById(R.id.editText1);
//notatki = (EditText) getView().findViewById(R.id.editText1);
SharedPreferences settings = this.getActivity().getSharedPreferences("PREFS", 0);
notatki.setText(settings.getString("value", "raz dwa trzy"));
return notatki;
}
答案 2 :(得分:0)
更改以下行
return inflater.inflate(R.layout.fragment_edit_info,container, 假);
以强>
返回rootView;
然后它会工作得很好
答案 3 :(得分:0)
尝试像这样更改你的onCreateView
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_edit_info, container, false);
etEmail = (EditText) rootView.findViewById(R.id.etEmail);
etFullName = (EditText) rootView.findViewById(R.id.etFullName);
return rootView;
}