2012-08-17 51 views
2

我正在使用IntelliJ IDEA進行Android開發。但有一件事讓我非常惱火。當我使用「實施方法」功能就產生這樣的:在IntelliJ IDEA中使用「實現方法」時使用不良參數名稱

new OnItemSelectedListener() { 
    @Override 
    public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) { 
    } 

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

參數名稱不一致,我希望看到這樣的事情:

new OnItemSelectedListener() { 
    @Override 
    public void onItemSelected (AdapterView<?> parent, View view, int position, long id) { 
    } 

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

我怎樣才能讓IDEA生成正確的參數名稱?

回答

1

需要源代碼才能在代碼完成時獲取正確的參數名稱。 Android SDK中沒有捆綁源,直到4.0平臺版本(API版本14),自那以後的源代碼可以開箱:

Sources

如果您在使用舊平臺版本,see my answer for the workaround

+0

我想知道爲什麼Eclipse自動完成工作正常,沒有來源。無論如何感謝您的正確的jar鏈接。 – darja 2012-08-17 15:12:41

+0

@darja當然不是。我已經解釋過,如果沒有源代碼,那麼沒有自動完成的參數名稱。 – kan 2012-08-17 16:09:02

1

我懷疑你沒有附加源代碼,所以IDEA只是使用.jar來生成代碼。編譯後的類沒有關於參數名稱的信息。

所以,只需附上來源。

+0

IDEA定位爲最智能的IDE。如果它需要附加Android來源才能實現正確的自動填充,這是一個很大的失望。此外,Android文檔工作正常,Android類上的「定義」顯示了正確的簽名。 – darja 2012-08-17 12:55:54

+0

請轉到'onItemSelected'的定義並在代碼源中附上顯示正確簽名的屏幕截圖。 – CrazyCoder 2012-08-17 13:26:33

+0

很高興看到IDEA開發人員。 OnItemSelectedListener確實不一致。但請參閱http://petromi.com/get/40eb0f4bb8.png和http://petromi.com/get/140145ca7a.png。您認爲附加Android資源真的是唯一的解決方案嗎? – darja 2012-08-17 14:34:59

0

我與彈簧BeanPostProcessor完全一樣的問題。源通過Maven附加,但intelliJ堅持命名方法參數os而不是beanbeanName。當我導航到課程時,我可以看到來源和常規名稱。

編輯 - 通過重新啓動IntelliJ解決了問題:一旦連接了源,就需要重新啓動。

相關問題