1
所以我有一個活動,每個按鈕都帶有一個TextView波紋管,當我點擊按鈕出現一個帶有EditText和'完成'按鈕的對話框片段時,我在EditText,點擊'完成',ti改變文本下方我點擊的按鈕,這是工作正常。我需要的是用我已有的共享偏好設置中的新文本替換先前的文本。Android:在DialogFragment中訪問SharedPreferences
我SharedPreferences:SharedPreferences prefs = getPreferences(Context.MODE_PRIVATE);
打開對話框並傳遞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();
}
});
這裏的問題其實只是如何更新共享偏好
好吧,那麼現在,我必須爲每個鍵值創建一個條件,還是有一種更簡單的方法來檢查單擊了哪個按鈕,然後選擇相應的鍵? –
你可以''onClickListener'實現你的片段,並且可以檢查'switch/case'塊的條件。 –
好的,這是工作,謝謝! –