【发布时间】:2016-04-03 16:40:57
【问题描述】:
所以我有一个带有几个按钮的活动,每个按钮都有一个 TextView 波纹管,当我点击按钮时会出现一个带有 EditText 和“完成”按钮的对话框片段,我在 EditText 中写了一些东西,点击“完成”并且 ti 更改了我单击的按钮下方的文本,这工作正常。我需要的是用我已经拥有的共享首选项中的新文本替换以前的文本。
我的共享偏好设置:SharedPreferences prefs = getPreferences(Context.MODE_PRIVATE);
打开 Dialog 并传递 TextView 的 ID:
fm = getFragmentManager();
myFragment = new Fragment_Subject_Edit();
FirstButton.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Bundle data = new Bundle();
data.putInt("ID", FirstText.getId());
myFragment.setArguments(data);
myFragment.show(fm, "ClassEditor");
return false;
}
});
在对话框片段中接收 ID:
if (getArguments() != null) {
Bundle data = getArguments();
int id = data.getInt("ID");
mTextView = (TextView) getActivity().findViewById(id);
}
在按钮下方的 TextView 中添加新文本:
DoneButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String newText = mEditText.getText().toString();
mTextView.setText(newText);
getDialog().dismiss();
}
});
这里的问题实际上只是如何更新共享首选项
【问题讨论】:
标签: java android android-fragments dialog sharedpreferences