2016-06-06 5 views
1

У меня есть счетчик, включенный в мою форму. Теперь мне нужно передать выбранное значение и включить его в мой запрос формы. Заполнение Spinner уже работает, мне просто нужно получить выбранное значение. Я довольно новичок в Android, поэтому я буду очень признателен за любую помощь или советы, которые вы можете предложить.Как получить/передать выбранное значение от счетчика до onclick

Вот значение Spinner:

//this method will execute when we pick an item from the spinner 
@Override 
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
    //Setting the values to textviews for a selected item 
    tvID.setText(getName(position)); 
} 

Это моя отправить функция кнопки:

btnSignup.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       final String firstname = etFname.getText().toString(); 
       final String lastname = etLname.getText().toString(); 
       final String email = etEmail.getText().toString(); 
       final String phone = etContact.getText().toString(); 
       final String username = etUsername.getText().toString(); 
       final String password = etPassword.getText().toString(); 
       final String department = spinner.getSelectedItem().toString() 
//GET the value of spinner and include it here 
; 

мне потребуется значение вращателя, так что я могу включить его по моей просьбе:

RegisterRequest registerRequest = new RegisterRequest(firstname, lastname, email, phone, username, password, responseListener); 
RequestQueue queue = Volley.newRequestQueue(RegisterActivity.this); 
queue.add(registerRequest); 

EDIT: Я пробовал решения ниже, но я получаю эту ошибку: enter image description here

+1

http://stackoverflow.com/a/30598142/1391818 если сопоставление некоторых строк в значения – Koborl

+0

ошибок и ваш вопрос не совсем связаны:) ... пост класс 'responseListener' и' RegisterRequest 'какой последний параметр (тип возврата). – Bharatesh

+0

@skadoosh да спасибо Я уже исправил свой класс Request. Виноват. –

ответ

0

Вы можете сохранить выбранное значение в глобальной строке и затем передайте его по вашему запросу.

Что-то вроде этого

String sel_spinner; 

    @Override 
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
     //Setting the values to textviews for a selected item 
     tvID.setText(getName(position)); 

     sel_spinner=getName(position); 
    } 

Затем используйте эту строку здесь

btnSignup.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       final String firstname = etFname.getText().toString(); 
       final String lastname = etLname.getText().toString(); 
       final String email = etEmail.getText().toString(); 
       final String phone = etContact.getText().toString(); 
       final String username = etUsername.getText().toString(); 
       final String password = etPassword.getText().toString(); 
       final String department = sel_spinner; 

Надежда это помогает :)

+0

Спасибо. Другие ответы также работают, просто мне нужно получить значение идентификатора, а не имя отдела, которое показано на счетчике. Поэтому я использовал это решение и преобразовал String в int. Огромное спасибо. –

0

Попробуйте это,

Spinner spinner = (Spinner)findViewById(R.id.spinner); 
String text = spinner.getSelectedItem().toString(); 

Это может поможет вам

0

Чтобы получить значение вертушка используйте следующий код

String text = mySpinner.getSelectedItem().toString(); 
0

Если выше код работает, как вы упомянули, и этот метод вызова

@Override 
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
    //Setting the values to textviews for a selected item 
    tvID.setText(getName(position)); 
} 

Тогда вы также можете получить такую ​​ценность.

btnSignup.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       final String firstname = etFname.getText().toString(); 
       final String lastname = etLname.getText().toString(); 
       final String email = etEmail.getText().toString(); 
       final String phone = etContact.getText().toString(); 
       final String username = etUsername.getText().toString(); 
       final String password = etPassword.getText().toString(); 
       final String department = tvID.getText().toString(); 

      }    
     } 
0

Question1: - Как получить выбранное значение блесны

Ответ: - Для получения выбранного элемента фильеры вы должны использовать getSelectedItem() метод на вашем изделии вращателя вы можете сделать это с помощью: -

public String getName(int position) 
{ 
      spinnerreferece.setSelection(position); 
      String selVal = (String) spinnerreference.getSelectedItem(); 
    return selVal 
} 

Вопрос 2: - Как передать значение выбранного элемента: Ответ 2: - Я предполагаю, и хотите, чтобы передать значение другой деятельности: -

public void onItemSelected(AdapterView<?> parent, View view, int position, 
          long id) { 
    String selValue = (String) getName(position); 
tvID.setText(selValue); 
//it se 
cho=Integer.parseInt(selValue); 
    changescreen.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      switch (cho) 
      { 
       case 1: 
        Intent i=new Intent(getApplicationContext(),Secondactivity.class); 
        Log.d("xml", String.valueOf(i)); 
i.putExtra("key",selValue);   
      startActivity(i); 

        break; 

        } 
        } 

Делая эти две вещи, вы можете достичь желаемой задачи. Надеюсь, это поможет вам.

Смежные вопросы