我正在开发我的第一个Android应用程序,我正在创建基本的运动/卡路里计数器。我有两个旋转器,一个用于选定类型的运动,一个用于在几分钟内完成所述运动所花费的时间。我需要能够检查两个微调器的值/位置,所以我可以这样做:
PSUEDO CODE:
if(Exercise spinner = "push-ups")
{
CaloriesBurned = TimeSpinnerValue*450
}
if(Exercise spinner = "sit-up")
{
CaloriesBurned = TimeSpinnerValue*350
}
等等。 。 。没有什么花哨。我的Spinners是从String.xml中的String Array填充的。但是我不知道如何获得微调器的值,所以我可以在我的java代码中的一些IF语句中使用它。
答案 0 :(得分:2)
像这样用来比较任何字符串和你的微调器。
spinner.equals("push-ups");
答案 1 :(得分:2)
yourSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View arg1, int position, long arg3) {
String selectedString = (String) (yourSpinner.getAdapter()).getItem(position);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}});
答案 2 :(得分:2)
您需要实现OnItemSelectedListener
才能从Spinner中获取所选值。然后覆盖,
public void onItemSelected(AdapterView<?> parent, View v, int position,
long id) {
int id = parent.getId();
switch (id) {
case R.id.first_spinner:
// your stuff here
break;
case R.id.second_spinner:
// your stuff here
break;
}
}
public void onNothingSelected(AdapterView<?> parent) {
}
答案 3 :(得分:1)
通常,您需要遵循以下模式:
SpinnerAdapter adapter = Spinner.getAdapter();
int position = Spinner.getSelectedItemPosition();
Object value = adapter.getItem(position);
由于您使用String值加载它,因此可以将值转换为String。
答案 4 :(得分:1)
在您的活动中有一些字段来保存微调器的值,使用某个defaultvalue初始化
在微调器上实现onItemSelectedListener,在onItemSelected中通过onItemSelected(AdapterView adapterView, View view, int position, long id)