在计算中使用Spinner值

时间:2012-05-31 15:47:48

标签: java android

想知道我是否可以帮助解决我遇到的问题?我在这里搜索了答案,虽然我发现了一些相关的话题,但我仍然在苦苦挣扎......

下面你可以看到我正在使用Spinner要求用户选择Large,Med或Small。

然后将选择发布到TextView。

我现在要做的是为3个选项分配一个值,Large = 6,Med = 4,Small = 2。 接下来将有一个EditText框,供用户添加自己的值。 然后我想将这两个值放入计算中(比如说这个例子中的*)将答案放入TextView。

这里的任何帮助都会很棒。

非常感谢 将

String[] items = { "Large", "Med", "Small" };

@Override
public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.plugfan);
    Factor = (TextView) findViewById(R.id.Factor);

    Spinner spin = (Spinner) findViewById(R.id.spinner);
    spin.setOnItemSelectedListener(this);

    ArrayAdapter aa = new ArrayAdapter(
            this,
            android.R.layout.simple_spinner_item, 
            items);

    aa.setDropDownViewResource(
       android.R.layout.simple_spinner_dropdown_item);
    spin.setAdapter(aa);
}

public void onItemSelected(AdapterView<?> parent, View v, int position,
        long id) {
    Factor.setText(items[position]);
}


public void onNothingSelected(AdapterView<?> parent) {
    Factor.setText("");
}

1 个答案:

答案 0 :(得分:0)

解决这个问题的快速方法(不是最聪明的方法)是使用并行数组:

int[] itemValues = { 6, 4, 2 };

在onItmeSelected方法中,你可以使用itemValue而不是item来设置文本。

如果你想要一个更多的OO解决方案,一个新的类返回一个字符串列表,用作你的微调器的模型可能是一个更好的解决方案(枚举也可能解决它)。