Создание пунктов в Spinner из другого Activity

Рейтинг: 0Ответов: 0Опубликовано: 24.04.2015

Здравствуйте! Интересно как добавлять пункты в spinner из другого activity. Спиннер я формирую через Arraylist, ну в общем вот:

public class Operator {
        public String opname;
        public String ip1;
        public String socket1;
        public String ip2;
        public String socket2;
        public String apn;
        public String gprs;


        public Operator(String opname, String ip1, String socket1, String ip2, String socket2, String apn, String gprs) {
            this.opname = opname;
            this.ip1 = ip1;
            this.socket1 = socket1;
            this.ip2 = ip2;
            this.socket2 = socket2;
            this.apn = apn;
            this.gprs = gprs;
        }

        @Override
        public String toString() {
            return opname;
        }
}

Фрагмент MainActivity в котором будет нужный нам спиннер, в котором есть несколько пунктов так сказать "по умолчанию":

spinner = (Spinner)findViewById(R.id.shablspin);
        ArrayList<Operator> operators = new ArrayList<Operator>();
        Operator operator = new Operator("МТС №1", "192.168.1.1", "1000", "192.168.1.2", "2000", "internet", "www.umc.ua");
        operators.add(operator);

        Operator operator1 = new Operator("МТС №2", "192.168.1.1", "1000", "192.168.1.2", "2000", "internet", "www.umc.ua");
        operators.add(operator1);

        Operator operator2 = new Operator("Kyivstar", "192.168.1.1", "1000", "192.168.1.2", "2000", "internet", "www.ab.kyivstar.ua");
        operators.add(operator2);

        Operator operator3 = new Operator("Life:)", "192.168.1.1", "1000", "192.168.1.2", "2000", "internet", "www.life.ua");
        operators.add(operator3);

    Operator operator4 = new Operator(shablonname.toString(), ip1.toString(), socket1.toString(),
            ip2.toString(), socket2.toString(),
            apn.toString(), gprs.toString());
    operators.add(operator4);

//Адаптер
        ArrayAdapter<Operator> adapter = new ArrayAdapter<Operator>(this, android.R.layout.simple_list_item_1, operators);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter);

и вот пробую из этого Activity2 влиять на пункты в spinner

public class dtmfshablon extends ActionBarActivity implements View.OnClickListener {

EditText shabl,ip1, socket1, ip2, socket2, gprs, apn;
Button save;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.dtmfshablon);

    shabl = (EditText) findViewById(R.id.shablname);

    ip1 = (EditText) findViewById(R.id.ip1);
    socket1 = (EditText) findViewById(R.id.socket1);
    ip2 = (EditText) findViewById(R.id.ip2);
    socket2 = (EditText) findViewById(R.id.socket2);
    gprs = (EditText) findViewById(R.id.gprs);
    apn = (EditText) findViewById(R.id.apn);

    save = (Button) findViewById(R.id.savebtn);
    save.setOnClickListener(this);
}

@Override
public void onClick(View view) {
    switch (view.getId()) {
        case R.id.savebtn:
            Intent intent = new Intent(this, objcontrolactivity.class);
            intent.putExtra("shabl", shabl.getText().toString());
            intent.putExtra("ip1", ip1.getText().toString());
            intent.putExtra("socket1", socket1.getText().toString());
            intent.putExtra("ip2", ip2.getText().toString());
            intent.putExtra("socket2", socket2.getText().toString());
            intent.putExtra("apn", apn.getText().toString());
            intent.putExtra("gprs", gprs.getText().toString());
            startActivity(intent);
    }
}

}

UPD: изменения коснулись последнего кода и части первого (operator4): Все заработало, НО: без созданного шаблона первое активити вылетает, ну и дополнительно создать нельзя. Тоисть надо сделать случайную генерацию operator.add

Ответы

Ответов пока нет.