Android 在从一个活动移动到另一个活动时,将字符串值设置为微调器 我需要将open_时间字符串值设置为spinner 活动我将得到字符串形式的响应 然后我将该字符串值从FirstActivity传递到bundle 第二项活动
编码: SecondActivity.java:Android 在从一个活动移动到另一个活动时,将字符串值设置为微调器 我需要将open_时间字符串值设置为spinner 活动我将得到字符串形式的响应 然后我将该字符串值从FirstActivity传递到bundle 第二项活动,android,Android,编码: SecondActivity.java: String open_time; Spinner staticSpinner = (Spinner) findViewById(R.id.static_spinner); Bundle bundle = getIntent().getExtras(); if (bundle != null) { open_time = bundle.getString("open_time");
String open_time;
Spinner staticSpinner = (Spinner) findViewById(R.id.static_spinner);
Bundle bundle = getIntent().getExtras();
if (bundle != null) {
open_time = bundle.getString("open_time");
}
- 我唯一的问题是,当进入第二个活动时 字符串值必须设置为微调器。有人帮我吗
编辑:我尝试了Spinner.setPrompt(打开时间)中的
代码>。但这对我不起作用。Android微调器需要适配器。因此,您应该为它们准备一个简单的适配器
String[] list = new String[] {open_time};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, list);
staticSpinner.setAdapter(adapter);
String[]list=新字符串[]{open_time};
ArrayAdapter=新的ArrayAdapter(此,
android.R.layout.simple\u微调器\u项目,列表);
staticSpinner.setAdapter(适配器);
我用下面的代码解决了这个问题:
int s3;
s3 = fromSpinnerAdapter.getPosition(open_time);
fromSpinner.setSelection(s3);
试试这个代码
private ArrayList<String> list;
private int selectedItem = -1;
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, list);
staticSpinner.setAdapter(adapter);
staticSpinner.setOnItemSelectedListener(this);
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
Spinner selectedSpinner = (Spinner) adapterView;
switch (selectedSpinner.getId()) {
case R.id.sp_actions:
String row_data = sp_actions.getSelectedItem();
Log.d(TAG, "" + row_data);
// pass these variable to new activity and call setSelected method
selectedItem = list.indexOf(row_data);
break;
}
}
私有数组列表;
private int selectedItem=-1;
ArrayAdapter=新的ArrayAdapter(此,
android.R.layout.simple\u微调器\u项目,列表);
staticSpinner.setAdapter(适配器);
staticSpinner.setOnItemSelectedListener(此);
@凌驾
已选择公共视图(AdapterView AdapterView、View视图、int i、long l){
微调器选择微调器=(微调器)适配器视图;
开关(selectedSpinner.getId()){
案例R.id.sp_行动:
String row_data=sp_actions.getSelectedItem();
Log.d(标记“”+行数据);
//将这些变量传递给新活动并调用setSelected方法
selectedItem=list.indexOf(行数据);
打破
}
}
您可以使用项目的id或索引在微调器中设置值。使用staticSpinner.setSelection(索引)@androidnoobdev在我的第一个活动中,我从json中获得一个字符串值。这个值必须在第二个活动的微调器中设置。可能吗?我希望您有一个选项列表,可以显示在微调器中,并存储在arraylist或任何集合中。所以,获取该项的索引并将其传递给新活动,然后在第二个活动微调器中设置所选的索引项。