0

想知道我是否可以得到一些帮助来解决我遇到的问题?我已经在这里搜索了答案,虽然我找到了一些相关的主题,但我仍然非常挣扎......

您可以在下面看到我正在使用 Spinner,要求用户选择大、中或小。

然后将选择发送给 TextView。

我现在要做的是为 3 个选项分配一个值,大 = 6,中 = 4,小 = 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("");
}
4

1 回答 1

0

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

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

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

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

于 2012-05-31T15:52:44.590 回答