Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将选定值从微调器获取/传递到onclick_Java_Android - Fatal编程技术网

Java 如何将选定值从微调器获取/传递到onclick

Java 如何将选定值从微调器获取/传递到onclick,java,android,Java,Android,我的表格上有一个旋转器。现在我需要传递所选的值,并将其包含在我的表单请求中。填充微调器已经开始工作,我只需要获得选定的值。我是Android新手,所以我非常感谢您提供的任何帮助或提示 这是微调器值: //this method will execute when we pick an item from the spinner @Override public void onItemSelected(AdapterView<?> parent, View view, int posi

我的表格上有一个旋转器。现在我需要传递所选的值,并将其包含在我的表单请求中。填充微调器已经开始工作,我只需要获得选定的值。我是Android新手,所以我非常感谢您提供的任何帮助或提示

这是微调器值:

//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));
}
我需要微调器值,以便在我的请求中包含它:

RegisterRequest registerRequest = new RegisterRequest(firstname, lastname, email, phone, username, password, responseListener);
RequestQueue queue = Volley.newRequestQueue(RegisterActivity.this);
queue.add(registerRequest);
编辑:我尝试了以下解决方案,但出现以下错误: 试试这个

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

这可能有助于您使用以下代码获取微调器值

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

您可以将所选值保存在全局字符串中,然后将其传递给您的请求

像这样的

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);
    }

希望这有帮助:)

如果您上面的代码按照您提到的方式工作,并且此方法正在调用

@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));
}

问题1:如何获取微调器的选定值

答:-要获取微调器的选定项,必须对微调器项使用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;

                    }
                    }
public void已选择(AdapterView父视图、视图、int位置、,
长id){
字符串selValue=(字符串)getName(位置);
tvID.setText(selValue);
//是的
cho=Integer.parseInt(selValue);
changescreen.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
开关(cho)
{
案例1:
Intent i=新的Intent(getApplicationContext(),Secondactivity.class);
Log.d(“xml”,String.valueOf(i));
i、 putExtra(“键”,selValue);
星触觉(i);
打破
}
}

通过做这两件事,你可以完成你想要的任务。我希望它会对你有所帮助。

如果你将一些字符串映射到valueserror,而你的问题一点也不相关:)…post
responseListener
类和for
RegisterRequest
最后一个参数是什么(返回类型)需要。@skadoosh是的,谢谢。我已经修复了我的请求类。我的不好。谢谢。其他答案也有效,只是我需要获取ID值,而不是微调器中显示的部门名称。因此我使用了此解决方案,并将字符串转换为int。非常感谢。
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();

          }            
        }
public  String getName(int position) 
{  
          spinnerreferece.setSelection(position);
            String selVal = (String) spinnerreference.getSelectedItem();
  return selVal
}
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;

                    }
                    }