微调器在片段中增加/获得价值

问题描述

在片段微调器中添加获取价值的最佳方法是什么?

XML

 <Spinner
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/Status"
        android:textSize="25dp"
        android:padding="5dp"/>

Java

  public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {
   
    final View root= inflater.inflate(R.layout.fragment_add,container,false);
    Spinner status = root.findViewById(R.id.Status);  
    return root;`

`

添加数据

  String[] role = new String[] {"Faculty","Student"};

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getContext(),android.R.layout.simple_spinner_item,role);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
    status.setAdapter(adapter);

获取数据

 String state = status.getSelectedItem().toString();

解决方法

您必须使用OnItemSelectedListener

spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {

        override fun onItemSelected(adapterView: AdapterView<*>?,view: View?,position: Int,id: Long) {
        }

        override fun onNothingSelected(adapterView: AdapterView<*>?) {
        }

    }