想知道我是否可以帮助解决我遇到的问题?我在这里搜索了答案,虽然我发现了一些相关的话题,但我仍然在苦苦挣扎......
下面你可以看到我正在使用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("");
}
答案 0 :(得分:0)
解决这个问题的快速方法(不是最聪明的方法)是使用并行数组:
int[] itemValues = { 6, 4, 2 };
在onItmeSelected方法中,你可以使用itemValue而不是item来设置文本。
如果你想要一个更多的OO解决方案,一个新的类返回一个字符串列表,用作你的微调器的模型可能是一个更好的解决方案(枚举也可能解决它)。