简体   繁体   English

未调用按钮 setOnClickListener 方法

[英]Button setOnClickListener method is not invoked

The below is the sample code I'm trying to get the selected value from spinner on setOnClickListener method for the Button validateUser .下面是示例代码,我试图从setOnClickListener方法上的微调器中为 Button validateUser获取选定的值。

    public class MainActivity extends Activity implements  AdapterView.OnItemSelectedListener {
      private Button validateUser;
      private Spinner userTypeSpinner;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        userTypeSpinner=(Spinner)findViewById(R.id.userTypeSpinner);
        validateUser= (Button) findViewById(R.id.userValidate);

        validateUser.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(getApplicationContext(), "Button is Selected", Toast.LENGTH_SHORT);
            }
        });



        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
                R.array.userTypeArray, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        userTypeSpinner.setAdapter(adapter);
        userTypeSpinner.setOnItemSelectedListener(this);
    }

    @Override
    public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
        String item = adapterView.getItemAtPosition(i).toString();

        Toast.makeText(adapterView.getContext(), "Selected: " + item, Toast.LENGTH_SHORT).show();
    }

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

    }
}

Toast needs to be shown.吐司需要展示。 use .show() at the end.最后使用.show()

Toast.makeText(getApplicationContext(), "Button is Selected", Toast.LENGTH_SHORT).show();

But you still not going to be able to use that spinner inside your button setOnClickListener.但是您仍然无法在按钮 setOnClickListener 中使用该微调器。

validateUser.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Toast.makeText(getApplicationContext(), "Button is Selected", Toast.LENGTH_SHORT);
        }
    });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM