2016-11-15 3 views
0

Я хочу сделать вторую кнопку «Сохранить», чтобы сохранить второй editText ко второму счетчику, как первый делает это код, который я пытаюсь использовать, и благодаря cricket_007 за помощь мне весь вопросКак использовать save 2 editText to 2 spinners в том же действии

List<String> pn, txt; 
Spinner sp1, sp2; 
Button b, b1, b2, b3; 
EditText et, et1; 

ArrayAdapter<String> adp1, adp2; 

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

    setupSpinners(); 

    b = (Button) findViewById(R.id.button); 
    b1 = (Button) findViewById(R.id.button1); 
    b2 = (Button) findViewById(R.id.button2); 
    b3 = (Button) findViewById(R.id.button3); 
    et = (EditText) findViewById(R.id.editText); 
    et1 = (EditText) findViewById(R.id.editText1); 

    b.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      adp1.add(et.getText().toString()); 
      et.setText(null); 
     } 

    }); 

    b2.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      adp2.add(et1.getText().toString()); 
      et1.setText(null); 
     } 

    }); 
} 

public void setupSpinners() { 

    sp1 = (Spinner) findViewById(R.id.spinner); 
    sp2 = (Spinner) findViewById(R.id.spinner1); 
    pn = new ArrayList<String>(); 
    txt = new ArrayList<String>(); 
    txt.add("Sorry Boss I'cant go today i'm sick"); 
    pn.add("123456789"); 

    adp1 = new ArrayAdapter<String>(this, 
      android.R.layout.simple_dropdown_item_1line, pn); 
    adp2 = new ArrayAdapter<String>(this, 
      android.R.layout.simple_dropdown_item_1line, txt); 

    sp1.setAdapter(adp1); 
    sp1.setSelection((pn.size() - 1)); 
    sp2.setAdapter(adp2); 
    sp2.setSelection((txt.size() - 1)); 

    sp1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 

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

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


    }); 
    sp2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 

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

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

Layout Snap

+0

В чем проблема, с которой вы сталкиваетесь ??? – SaravInfern

+0

Я хочу сделать 2 равных кнопки для хранения 2 разных текстов в разных проигрывателях – Marroquino

+0

Планируете ли вы использовать 'sp2.setAdapter' в любой момент? –

ответ

0

Вам нужно только настроить адаптер и Прядильщиков один раз.

Независимо от того, что вы пытаетесь сделать между событиями щелчка, просто добавляется в onItemSelected, но для того, чтобы задать выбор другого счетчика, ему нужны некоторые данные, поэтому добавьте к нему адаптер.

И для вашего последнего изменения вопроса вы неправильно отделили код, но вы установили некоторые элементы в пределах onClick кнопки, которой не должно быть.

public class MainActivity extends AppCompatActivity { 

    List<String> pn, txt; 
    Spinner sp1, sp2; 
    Button b, b1, b2, b3; 
    EditText et, et1; 

    ArrayAdapter<String> adp1, adp2; // Added 

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

     setupSpinners(); 

     b = (Button) findViewById(R.id.button); 
     b1 = (Button) findViewById(R.id.button1); 
     b2 = (Button) findViewById(R.id.button2); 
     b3 = (Button) findViewById(R.id.button3); 
     et = (EditText) findViewById(R.id.editText); 
     et1 = (EditText) findViewById(R.id.editText1); 

     b.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       adp1.add(et.getText().toString()); // Changed 
       et.setText(""); 
      } 
     }); 

     b2.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       adp2.add(et1.getText().toString()); 
       et1.setText(""); 
      } 
     }); 
    } 

    public void setupSpinners() { 

     sp1 = (Spinner) findViewById(R.id.spinner); 
     sp2 = (Spinner) findViewById(R.id.spinner1); 
     pn = new ArrayList<String>(); 
     txt = new ArrayList<String>(); 
     txt.add("Sorry Boss I'cant go today i'm sick"); 
     pn.add("123456789"); 

     adp1 = new ArrayAdapter<String>(this, 
       android.R.layout.simple_dropdown_item_1line, pn); 
     adp2 = new ArrayAdapter<String>(this, 
       android.R.layout.simple_dropdown_item_1line, txt); 

     sp1.setAdapter(adp1); 
     sp1.setSelection((pn.size() - 1)); 
     sp1.setOnItemSelectedListener(new OnItemSelectedListener() { 

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

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

     sp2.setAdapter(adp2); 

    } 
}