user3477127
user3477127

Reputation: 1

starting a new activity based on spinner value resulted in unexpected stoppage

There is no error but the app fails to start

public class MainActivity extends Activity {

Button button1;

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


Spinner spinner = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,R.array.Class, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);

Spinner nspinner = (Spinner) findViewById(R.id.spinner2);
ArrayAdapter<CharSequence> nadapter = ArrayAdapter.createFromResource(this,R.array.hour, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
nspinner.setAdapter(nadapter);

final String text = spinner.getSelectedItem().toString();
final String ntext = nspinner.getSelectedItem().toString();

button1.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {

        if (text.equals("IT6")){
            Intent myIntent = new Intent(v.getContext(),
                    One.class);
            startActivity(myIntent);
        } else if (text.equals("IT8")){
        Intent myIntent = new Intent(v.getContext(),
                Two.class);
        startActivity(myIntent);
        } 
    }

});

Upvotes: 0

Views: 131

Answers (1)

codeMagic
codeMagic

Reputation: 44571

If it crashes then you always have output in your logcat which you should post. But here it looks like you never initialize button1 so you will get a NPE when trying to set the Listener on it. You need something after setContentView() like

button1 = (Button) findViewById(R.id.someId); 

Upvotes: 1

Related Questions