簡體   English   中英

定位來自微調器的用戶選擇並在下一個活動中使用它-Android

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM