Android Spinners

时间:2012-02-15 04:51:46

标签: android

我正在开发我的第一个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语句中使用它。

5 个答案:

答案 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) {

}});

check this link fro more info

答案 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)

的位置参数获取所选项的值