【发布时间】:2023-03-06 05:20:01
【问题描述】:
目前,关于定位和使用用户从我的应用程序中的微调器(下拉菜单)中选择的内容的最佳方式,我有点进退两难。
为了给您一些见解,假设我有两个活动,一个称为创建行,用户从微调器中选择他们的选项,下一个称为行详细信息,我希望能够使用用户选择的内容.
我目前已成功将用户下拉选择保存到 SQLite 数据库。
在我的微调器中,用户可以选择 20 或 30 的选项。在第二个活动的详细信息行中,我希望能够编写一个 IF 语句来告诉我的app 做某事,具体取决于他们是否选择了 20 个还是 30 个?
获取用户选择并准备 IF 语句的最佳方法是什么?
-
我应该使用 db.query 来获取用户选择的内容并在 IF 语句中使用它吗?
- 我应该将选择存储在
Sharedpreference中并以这种方式定位吗?
- 我应该将选择存储在
这里是微调器代码:
spinner2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) {
switch (position) {
case 0:
quantity.setText("");
;
break;
case 1:
quantity.setText(PackageType20);
timeadded = 28;
duration.setText(timeadded + " Hours");
break;
case 2:
quantity.setText(PackageType30);
timeadded = 27;
duration.setText(timeadded + " Hours");
break;
default:
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
使用尝试的方法进行编辑:
创建行: 在创建行上,我将用户选择存储在公共静态变量中:
public static spinnerSelection2 = String.valueOf(spinner2.getSelectedItem());
LINE详情: 然后我在下一个活动中引用该字符串并将其设置为我将在 IF 语句中使用的变量:
String spinnerSelection2 = CreateLine.spinnerSelection2;
if (spinnerSelection2.equals("20")) {
optimum20 = (int) (diffminutes * 0.383);
percentage20 = optimum20 / (648 * 100);
} else if (spinnerSelection2.equals("30"))
optimum30 = (int) (diffminutes * 0.373);
percentage30 = optimum30 / (605 * 100);
我不太确定哪种方法最适合使用,也不确定如何使用每种方法。任何帮助都会很棒!
谢谢
【问题讨论】:
标签: java android sqlite sharedpreferences android-spinner