Java 如何将选定值从微调器获取/传递到onclick
我的表格上有一个旋转器。现在我需要传递所选的值,并将其包含在我的表单请求中。填充微调器已经开始工作,我只需要获得选定的值。我是Android新手,所以我非常感谢您提供的任何帮助或提示 这是微调器值: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
//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
类和forRegisterRequest
最后一个参数是什么(返回类型)需要。@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;
}
}