![](/img/trans.png)
[英]Taking user selection in a spinner, storing it in sharedPreferences, and using it in another activity
[英]Targetting user selection from a spinner and using it in next activity - Android
目前,在定位和使用用戶從我的應用程序中的微調器(下拉菜單)中選擇的內容的最佳方法方面,我目前處於兩難境地。
為了給您一些見識,我說了兩項活動,一項叫做創建行,這是用戶從微調器中選擇其選項的地方,另一項稱為行詳細信息,在那我希望能夠使用用戶選擇的內容。
我目前已成功將用戶下拉選擇保存到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());
LINEDETAILS:然后在下一個活動中引用該字符串,並將其設置為該變量,我將在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);
我不太確定哪種方法最適合使用,也不確定如何做..任何幫助都將是很大的!
謝謝
為此,請在切換案例中添加以下行以進入新活動:
Intent intent = new Intent(getContext(),yourSecondActivity.class);
intent.putExtra("duration",duration);
intent.putExtra("PackageType", packageType);
在第二個活動中,創建兩個字符串來存儲這些值。 並在創建時將這些值導入其中,請編寫以下代碼:
yourVariable = intent.getStringExtra("duration");
yourSecondVariable = intent.getStringExtra("packageType");
之后,您可以申請其他條件來檢查滿足條件並在那里進行相應的操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.