How to set Spinner default value to null?

后端 未结 10 1664
天命终不由人
天命终不由人 2020-11-29 02:36

I\'m trying to get a Spinner to load up with no selected value. Once the user selects a value it then takes them to another page.

This is proving to be a problem be

10条回答
  •  盖世英雄少女心
    2020-11-29 03:28

    Using a custom spinner layout like this:

    
    
    

    In the activity:

        // populate the list
        ArrayList dataList = new ArrayList();
        for (int i = 0; i < 4; i++) {
            dataList.add("Item");
        }
    
        // set custom layout spinner_layout.xml and adapter
        Spinner spinnerObject = (Spinner) findViewById(R.id.spinnerObject);
        ArrayAdapter dataAdapter = new ArrayAdapter(this, R.drawable.spinner_layout, dataList);
        dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinnerObject.setAdapter(dataAdapter);
        spinnerObject.setOnTouchListener(new View.OnTouchListener() { 
    
            public boolean onTouch(View v, MotionEvent event) {
                // to set value of first selection, because setOnItemSelectedListener will not dispatch if the user selects first element
                TextView spinnerTarget = (TextView)v.findViewById(R.id.spinnerTarget);
                spinnerTarget.setText(spinnerObject.getSelectedItem().toString());
    
                return false;
            }
    
        });
        spinnerObject.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                    private boolean selectionControl = true;
    
                    public void onItemSelected(AdapterView parent, View view, int pos, long id) {
                        // just the first time
                        if(selectionControl){
    
                            // find TextView in layout 
                            TextView spinnerTarget = (TextView)parent.findViewById(R.id.spinnerTarget);
                            // set spinner text empty
                            spinnerTarget.setText("");
                            selectionControl = false;
                        }
                        else{
                            // select object
                        }
                    }
    
                    public void onNothingSelected(AdapterView parent) {
    
                    }
                });
    

提交回复
热议问题