Question

I'm new with Stackoverflow and also programming with Android

I've done this code in my AndroidApp:

public class MainActivity extends ActionBarActivity {

private Spinner spinner;
private LinkedList<Integer> list;

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

    if (savedInstanceState == null) {
        getSupportFragmentManager().beginTransaction()
                .add(R.id.container, new PlaceholderFragment())
                .commit();
    }

    this.ageSpinner();


}

private void ageSpinner(){

    list = new LinkedList<Integer>();
    spinner = (Spinner) this.findViewById(R.id.spinner1);

    for(Integer i=0; i<=4; i++){


        list.add(i);

    }

    ArrayAdapter<Integer> spinnerAdapter = new ArrayAdapter<Integer>(this, android.R.layout.simple_spinner_item, list);
    spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    spinner.setAdapter(spinnerAdapter);

}

And my logCat throws me a NullPointerException.

I've tried to do this code changing the Linkelist to ArrayList, String Array, but my app crash.

Was it helpful?

Solution

Try this code

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

    if (savedInstanceState == null) {
        getSupportFragmentManager().beginTransaction()
                .add(R.id.container, new PlaceholderFragment())
                .commit();
    }
spinner = (Spinner)findViewById(R.id.spinner1);
ageSpinner();
ArrayAdapter<Integer> spinnerAdapter = new ArrayAdapter<Integer>(this,             android.R.layout.simple_spinner_item, list);
spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(spinnerAdapter);
}
 private void ageSpinner(){

    list = new ArrayList<Integer>();
    for(int i=0; i<=4; i++){
        list.add(i);


    }

OTHER TIPS

You need to instantiate the Spinner in order for it not to be null.

Using rootView.findViewById(R.id.spinner1) within your onCreate method should solve the issue.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top