我是 android 初学者..我创建了四个图像,并在每个图像下方添加了文本 对于该图像,我通过长按文本添加了重命名选项..用于存储重命名的 文本我在我的 fragment 中使用共享首选项..如果我转到下一个 fragment 并且如果我 回来我的 fragment 编辑文本没有显示..它显示我在布局中添加的文本..任何人都可以帮助我....下面是我的代码
public class MyFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.ac_listview, container, false);
final TextView text1 = (TextView) view.findViewById(R.id.textView8);
ImageView image1 = (ImageView) view.findViewById(R.id.imageView3);
image1.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View _view) {
int viewId = _view.getId();
FragmentTransaction ft;
switch (viewId) {
case R.id.imageView3:
FragmentManager fm = getFragmentManager();
ft = fm.beginTransaction();
NEXTFRAGMENT nextFragment = new NEXTFragment();
ft.replace(R.id.frame_content, nextFragment);
ft.addToBackStack(null);
ft.commit();
break;
}
}
});
text1.setText("green");
text1.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
LayoutInflater inflater = ((Activity) getActivity()).getLayoutInflater();
View view = inflater.inflate(R.layout.name_edit, null);
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getActivity());
alertDialogBuilder.setView(view);
final AlertDialog alertDialog = alertDialogBuilder.create();
Button done = (Button) View.findViewById(R.id.edit_done);
final TextView new1 = (TextView) View.findViewById(R.id.name);
done.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View view) {
String str = new1.getText().toString();
if(str.equals(""))
{
new1.setError(Constants.NOT_EMPTY);
}
else{
text1.setText(str);
SharedPreferences.Editor editor = MAINActivity._sharedPreferences.edit();
editor.putString("Str", str);
editor.commit();
alertDialog.dismiss();
}
}
});
alertDialog.show();
return true;
}
});
最佳答案
在 fragment 的 onCreateView 中编写以下代码它将起作用:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
String imgUpdateName = prefs.getString("Str", "");
text1.setText(imgUpdateName);
所以你的 onCreateView 将是:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.ac_listview, container, false);
final TextView text1 = (TextView) view.findViewById(R.id.textView8);
ImageView image1 = (ImageView) view.findViewById(R.id.imageView3);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
String imgUpdateName = prefs.getString("Str", "");
text1.setText(imgUpdateName);
.......
Your remaining fragment code.
关于java - 可编辑文本并将该文本存储在 android 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40802794/