0

所以我目前正在使用以下方法将文本保存到我的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. 我在保存时遇到的问题是,在某些情况下,如果未调用editTextsthe onFocusChangeListener,因此未保存数据。谁能推荐我另一种方法来保存来自 editText 的数据?

4

2 回答 2

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) {
            }
    });
于 2013-09-05T01:49:20.463 回答
1

setOnPageChangeListener()ViewPager 方法

mViewPager.setOnPageChangeListener(this);

这是一个示例ViewPager

选择您认为适合您的应用的活动

onPageScrollStateChanged(int state)
onPageScrolled(int position, float positionOffset, int positionOffsetPixels)
onPageSelected(int position)

这是setOnPageChangeListener()文档

于 2013-09-05T01:44:07.090 回答