簡體   English   中英

如何從Spinner偵聽器調用方法-Android

[英]How to call a method from a Spinner listener - Android

從下拉菜單微調器中選擇一個新單位時,我想自動運行一種轉換方法。 該代碼可以正常工作,以使用新選擇的選項更新TextView對象,因此偵聽器可以正常工作。 當我添加一個方法調用時,它崩潰並且該應用甚至無法啟動,為什么會有這種想法?

spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            String str = ((TextView) view).getText().toString();
            unitsInput.setText(str); 

            convert();
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {

        } 

    });

我想我已經發現問題,我在輸入空間中的初始值是一個空字符串“”,啟動時對此並不滿意。

日志:

 06-25 10:36:47.340: E/AndroidRuntime(1312): java.lang.NumberFormatException: Invalid double: ""
06-25 10:36:47.340: E/AndroidRuntime(1312):     at java.lang.StringToReal.invalidReal(StringToReal.java:63)
06-25 10:36:47.340: E/AndroidRuntime(1312):     at java.lang.StringToReal.parseDouble(StringToReal.java:248)
06-25 10:36:47.340: E/AndroidRuntime(1312):     at java.lang.Double.parseDouble(Double.java:295)

在輸入EditText空間中將初始值設置為1已解決了該問題,並允許該應用再次運行,並在從下拉微調器中選擇某些內容后運行convert()方法。

但是,如果將初始輸入留為空白或為空“”,則它仍然不起作用。 如果我包括if語句子句

 if(!"".equals(str)){
                convert();
            }

要么

 if(!str.equals("")){
                convert();
            }

它在啟動時崩潰。

有誰知道如何使用Spinner Listener和空白String來實現方法調用?

嘗試這個..

    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
        String str = ((TextView) view).getText().toString();
        unitsInput.setText(str); 

        if(!str.equals(""))
             convert();
    }

作為更新,我可以按需要為有類似問題的任何人使用以下代碼來完成此工作

 spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            String str = ((TextView) view).getText().toString();
            unitsInput.setText(str); 

            if(!"".equals(valueInput.getText().toString())){
                convert();
            }
        }

暫無
暫無

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

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