简体   繁体   中英

Spinners in android

I am trying to create multiple spinner onItemSelected function but it giving me error in parent and view.

public void onItemSelected(AdapterView<?> **parent**, **View** view,
    int pos, long id) {
        parent.getItemAtPosition(pos);

        TextView  tvReadValue = (TextView) findViewById(R.id.tvReadValue);
        switch (parent.getId())
        {
            case R.id.spinDimension:

                tvReadValue.setText("spinDimension" + pos);

                break;

            case R.id.speedDimension:

                tvReadValue.setText("speedDimension" + pos);
                break;
        }

** is my error

Update. My problrm is I have 3 spinners and all have onselected implemented on them. When I am selecting a value in first spinner. Its running on selected method of other spinners also...

public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
 Log.d("form","onitemselected");
 switch (parent.getId()) {
 case R.id.spinDimension:
 tvReadValue.setText("spinDimension" + position);
 Log.d("form","regionid:" + r.id);
 break;
 case R.id.speedDimension:
 tvReadValue.setText("speedDimension" + position);
 Log.d("form","state id:");
 break;
}

try this

Spinner firstSpinner = (Spinner) findViewById(R.id.spinner1);    
spinner.setOnItemSelectedListener(this);

...

public void onItemSelected(AdapterView<?> parent, View view, int pos,long id) {
    Toast.makeText(parent.getContext(), 
        "OnItemSelectedListener : " + parent.getItemAtPosition(pos).toString(),
        Toast.LENGTH_SHORT).show();
}

And also you can set it directly where you want it. To call on your spinner after your adapter has been set.

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
           @Override
          public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

        switch (position) {
            case 0:
                Toast.makeText(parent.getContext(), "Spinner item 1!", Toast.LENGTH_SHORT).show();
                break;
            case 1:
                Toast.makeText(parent.getContext(), "Spinner item 2!", Toast.LENGTH_SHORT).show();
                break;
            case 2:
                Toast.makeText(parent.getContext(), "Spinner item 3!", Toast.LENGTH_SHORT).show();
                break;
        }
    }

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

       // sometimes you need nothing here
    }
});

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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