Bala Milka Ответов: 0

Значение текстового поля не обновляется должным образом в соответствии с изменением значения счетчика


в основном действии есть счетчик и 1 текстовое поле fragment.my задача состоит в том, чтобы изменить значение текстового поля в соответствии с недавно выбранным значением счетчика.мой код работает хорошо, но текстовое поле меняет свое состояние только после 2 свайпов.Я не знаю, происходит ли это отставание.помогать мне

вот мой код в основной деятельности

spinner = (Spinner)findViewById(R.id.spinner2);
        final ArrayAdapter<String> dataAdapter1 = new ArrayAdapter<>(this,android.R.layout.simple_spinner_item,array2);
        dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(dataAdapter1);
        spinner.invalidate();

        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                //dataAdapter1.notifyDataSetChanged();
                Toast.makeText(getApplicationContext(),"well",Toast.LENGTH_LONG).show();
                String pos = (String) spinner.getSelectedItem();
                SharedPreferences sharedPref = getSharedPreferences("Mode", Activity.MODE_PRIVATE);
                SharedPreferences.Editor prefEditor = sharedPref.edit();
                prefEditor.putString("userChoicemode", pos);
                prefEditor.commit();
            }
            @Override
            public void onNothingSelected(AdapterView<?> parent) {
            }
        });



мой фрагмент кода :

final TextView modeselect = (TextView) view.findViewById(R.id.pass);

        final SharedPreferences sharedPref = this.getActivity().getSharedPreferences("Mode", Activity.MODE_PRIVATE);
        String get = sharedPref.getString("userChoicemode",selected);

        modeselect.setText("" + get);


Что я уже пробовал:

я пробовал использовать
dataAdapter1.notifyDataSetChanged();
но это не работает.

David Crow

Вы не подумали позвонить registerOnSharedPreferenceChangeListener() в вашем фрагменте?

0 Ответов