簡體   English   中英

如何在Android中獲取微調框選擇項

[英]How to get Spinner Selected Item in Android

我正在與兩個微調器一起制作貨幣轉換器。 我想使用微調器的選定項的值制作一個“ if”函數,如下所示。

    @Override
    public void onClick(View v) {
        if (spinner1.getSelectedItem()=="Dollars" && spinner2.getSelectedItem()=="Euros") {
            convertDollarstoEuros();
        }
        if (spinner1.getSelectedItem()=="Euros" && spinner2.getSelectedItem()=="Euros") {
            convertEurostoEuros();
        }
    Toast.makeText(MainActivity.this,
            "OnClickListener : " + 
                    "\nSpinner 1 : "+ String.valueOf(spinner1.getSelectedItem()) + 
                    "\nSpinner 2 : "+ String.valueOf(spinner2.getSelectedItem()),
                Toast.LENGTH_SHORT).show();
        }

問題在於烤面包正在顯示,但貨幣沒有轉換。 吐司部分正在工作,而微調器部分卻沒有。 任何幫助將不勝感激。 這是我的LogCat:

在此處輸入圖片說明

嘗試這個 :

if (spinner1.getSelectedItem().toString().equals("Dollars") && spinner2.getSelectedItem().toString().equals("Euros")
...

getSelectedItem()返回一個Object 信息 因此,您必須首先獲取相應的字符串。 然后,java使用equals()比較字符串。

if (spinner1.getSelectedItem()=="Dollars" && spinner2.getSelectedItem()=="Euros") {

您不能像這樣比較字符串。 您必須使用equals()方法進行比較。 用這個:

if (spinner1.getSelectedItem().toString().equals("Dollars") && spinner2.getSelectedItem().toString().equals("Euros")) {}

檢查您是否正確調用了ID? 當我在工作時,調用不正確的ID時常會發生此異常。 例如,在TextView中,找到findViewById(R.id.textView1),但在xml文件中,我們可能將其設置為textView2。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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