所以我目前正在使用以下方法将文本保存到SharedPreferences SM
:
implementingacency.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasfocus) {
if(!hasfocus){
EditText et = (EditText) v;
if(et.getText().toString().length()>0)
SM.set_value(SharePrefForproject.KEY_implementationagency, et.getText().toString());
}
}
});
此处,implementingagency
是editText
。我在保存时遇到的问题是,如果未调用editTexts
onFocusChangeListener
,则会保存数据。任何人都可以推荐另一种方法来保存editText中的数据吗?
答案 0 :(得分:2)
一种选择是使用TextWatcher并在用户输入数据时保存数据。
implementingacency.addTextWatcher(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
SM.set_value(SharePrefForproject.KEY_implementationagency, s.toString());
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
});
答案 1 :(得分:1)
setOnPageChangeListener()
是ViewPager方法
mViewPager.setOnPageChangeListener(this);
这是一个示例ViewPager
选择您认为适合您应用的活动
onPageScrollStateChanged(int state)
onPageScrolled(int position, float positionOffset, int positionOffsetPixels)
onPageSelected(int position)