0

i want to add two numbers using spinner view. here in my code two spinners .After i run the emulator it displays straight result only. it does not display spinner control and i'm not able to select the two numbers. Pls give one solution. Thanks in advance. Here code

         package com.kk;
         import android.app.Activity;
         import android.os.Bundle;
         import android.view.View;
         import android.widget.AdapterView;
         import android.widget.ArrayAdapter;
         import android.widget.Spinner;
         import android.widget.AdapterView.OnItemSelectedListener;
         import android.widget.TextView;
         import android.R.id;

         public class TrckActivity extends Activity {
          /** Called when the activity is first created. */
          String[] a={"-select-","1","2"};
          String[] b={"-select-","2","4"};
          int first,second,f,s,c;
       public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ArrayAdapter<String> a1= new ArrayAdapter<String>             (this,android.R.layout.simple_dropdown_item_1line,a);
    final Spinner sp1=(Spinner)findViewById(R.id.spinner1);
    sp1.setAdapter(a1);
    sp1.setOnItemSelectedListener(new OnItemSelectedListener(){

        @Override
        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {
            first=sp1.getSelectedItemPosition();


        }

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


        }

    });
    ArrayAdapter<String> a2= new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,b);
    final Spinner sp2=(Spinner)findViewById(R.id.spinner1);
    sp2.setAdapter(a2);
    sp2.setOnItemSelectedListener(new OnItemSelectedListener(){

        @Override
        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {
            second=sp2.getSelectedItemPosition();


        }

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


        }

    });

    if(first==1)
    {
        f=1;

    }
    else if(first==2)
    {
     f=2;
    }
    if(second==1)
    {
        s=2;
    }
    else if(second==2)
    {
        s=3;
    }
    c=f+s;
    TextView tv=new TextView(this);
    tv.setText(""+c);
    setContentView(tv);

}

}

VijayKumar
  • 11
  • 1
  • 2
  • 5

2 Answers2

0

This might be because the spinner's "onItemSelected" method gets called initially as soon as your code enters the onCreate method. Maybe you have to maintain flag values to do this.

These links might help you get started with it,

Spinner onItemSelected called erroneously (without user action)

Spinner onItemSelected() executes when it is not suppose to

Community
  • 1
  • 1
Andro Selva
  • 53,910
  • 52
  • 193
  • 240
0

Try to exchange

android.R.layout.simple_dropdown_item_1line

to

android.R.layout.simple_spinner_item
Nolesh
  • 6,848
  • 12
  • 75
  • 112