-3

MainActivity:

import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import java.util.*;
import android.content.Intent;

public class MainActivity extends Activity {

    private Spinner spinner1;
    private Button btnSubmit;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        addListenerOnButton();
        addListenerOnSpinnerItemSelection();
    }

    public void addListenerOnSpinnerItemSelection() {
        spinner1 = (Spinner) findViewById(R.id.spinner1);
        spinner1.setOnItemSelectedListener(new CustomOnItemSelectedListener());
    }

    // get the selected dropdown list value
    public void addListenerOnButton() {

        spinner1 = (Spinner) findViewById(R.id.spinner1);
        btnSubmit = (Button) findViewById(R.id.btnSubmit);
        btnSubmit.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                //Get Value from EditText                    //Save value to a Variable
                EditText person0 = findViewById(R.id.spot0); String saved_spot0 = person0.getText().toString();
                EditText person1 = findViewById(R.id.spot1); String saved_spot1 = person1.getText().toString();
                EditText person2 = findViewById(R.id.spot2); String saved_spot2 = person2.getText().toString();
                EditText person3 = findViewById(R.id.spot3); String saved_spot3 = person3.getText().toString();
                EditText person4 = findViewById(R.id.spot4); String saved_spot4 = person4.getText().toString();
                EditText person5 = findViewById(R.id.spot5); String saved_spot5 = person5.getText().toString();
                EditText person6 = findViewById(R.id.spot6); String saved_spot6 = person6.getText().toString();
                EditText person7 = findViewById(R.id.spot7); String saved_spot7 = person7.getText().toString();
                EditText person8 = findViewById(R.id.spot8); String saved_spot8 = person8.getText().toString();
                EditText person9 = findViewById(R.id.spot9); String saved_spot9 = person9.getText().toString();

                List<String> filled_spots = Arrays.asList(saved_spot0, saved_spot1, saved_spot2, saved_spot3, saved_spot4, saved_spot5, saved_spot6, saved_spot7, saved_spot8, saved_spot9);

                Collections.shuffle(filled_spots); //Shuffle List
                Collections.sort(filled_spots); //Sort List

                Intent teams_Screen = new Intent (MainActivity.this, DisplayTeamsActivity.class);
                teams_Screen.putStringArrayListExtra ("mylist", (ArrayList<String>) filled_spots);

                startActivity(teams_Screen);
            }

        });
    }
}

DisplayTeamsActivity:

import android.content.Intent;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import java.util.ArrayList;
import java.util.List;

public class DisplayTeamsActivity extends AppCompatActivity {

    private ListView lv;

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


        ArrayList<String> stringList = getIntent().getStringArrayListExtra("mylist");

    }
}

I need to pass the List array from one activity to another and populate the listView I have from the shuffeld array, but something is crashing my app when i click on the button that takes me to the next activity. I dont know if this is correctly done and what is the problem causing it to entirely crash...

2 Answers2

0

you can try this

in first acticity

Intent intent = new Intent(context, NewActivity.class);

intent.putExtra("mylist", yourlist_array);

context.startActivity(intent);

in second activity

Intent intent = getIntent();

List stringArray = intent.getStringArrayExtra("mylist");

Community
  • 1
  • 1
Jayesh
  • 131
  • 5
0

Do this:

ArrayList<String> filled_spots = new ArrayList<>(Arrays.asList("nome1", "nome2"));

Collections.shuffle(filled_spots); //Shuffle List
Collections.sort(filled_spots); //Sort List

Intent teams_Screen = new Intent (MainActivity.this, DisplayTeamsActivity.class);
teams_Screen.putStringArrayListExtra("mylist", filled_spots);

At DisplayTeamsActivity you'll need do this:

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        ArrayList<String> stringList = getIntent().getStringArrayListExtra("mylist");
    }
Maicon Hellmann
  • 450
  • 3
  • 13