如何根据最近选择的旋转器值动态更改文本框值



这是屏幕截图...我对旋转器值的变化仅在2个刷新后反映我有一个带有10个屏幕的应用后,我的主要活动中有1个旋转器,而片段中的文本框则有1个旋转器。想要在我的文本框中显示最近选择的旋转器值。

我编写了一个代码,以在我的文本框中显示所选的旋转器值,并且在我的所有屏幕中都变得稳定。但是我不知道如何根据最近选择的旋转器值动态更改文本框值。(下降之前,请建议我一些解决方案

这是获得旋转器值

的代码
String pos = (String) spinner.getSelectedItem();
        SharedPreferences sharedPref = getSharedPreferences("Mode", Activity.MODE_PRIVATE);
        SharedPreferences.Editor prefEditor = sharedPref.edit();
        prefEditor.putString("userChoicemode", pos);
        prefEditor.commit();

这是检索它的代码

TextView modeselect = (TextView) view.findViewById(R.id.pass);
        SharedPreferences sharedPref = this.getActivity().getSharedPreferences("Mode", Activity.MODE_PRIVATE);
        String get = sharedPref.getString("userChoicemode",selected);
        modeselect.setText("" + get);

呼叫下面的方法

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
       String text=spinner.getSelectedItem().toString();
       txtview.setText(text);
                    }
            }
            @Override
            public void onNothingSelected(AdapterView<?> parent) {
            }
        });

当列表设置为旋转器时,每当用户从旋转器中选择任何项目时,您都可以从按钮单击" getSelectedItem()"或仅在用户从用户从用户从中选择文本时从按钮中获取旋转器值时,请调用以上方法调用。旋转器,您必须将其称为"覆盖方法"

尝试此

yourSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                @Override
                public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                    String selectedText = parent.getItemAtPosition(position).toString()
                    // Set your TextView here
                    myTextView.setText(selectedText);
                }
                @Override
                public void onNothingSelected(AdapterView<?> parent) {
                }
            });

,如果您的文本视图在不同的片段中,请按照活动和片段之间的链接通信

您可以调用Spinner的setOnItemSelectedListener

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                @Override
                public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
                 modeselect.setText(spinner.getSelectedItem().toString());
                 //or 
                 //modeselect.setText(adapterView.getItemAtPosition(i));
                }
                @Override
                public void onNothingSelected(AdapterView<?> adapterView) {
                }
            });
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
             textView.setText(spinner.getSelectedItem().toString());

            }
            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {
            }
        });

最新更新