2016-04-17 54 views
1

當您試圖給第三個參數Toast.makeText以外的其他值或Toast.LENGTH_SHORT它不會接受。帶限制參數的方法

我需要創建一個方法並使用相同類型的限制:它只能接受以前使用常量定義的三個值。

這是如何實現的?

+0

創建與儘可能多的價值ENUM只要你想和那麼在該方法中將參數設置爲ENUM.VALUE。 –

回答

3

您可以通過創建自己的枚舉來限制用戶。示例代碼:

public enum Notification { 
    LONG, 
    SHORT 
} 

方法,我想限制:

private void methodName(String value1, Notification value2){ 
// Write whatever you want to perform 
} 

現在,這種方法只能這樣調用:

methodName("", Notification.LONG); // Second Parameter is allowed only from your custom enum 
+0

這是我需要的。謝謝@Yasir – AndroidDev

+0

您可以通過使用界面來實現相同的功能。 Toast使用自定義界面。接口的實現與我剛剛描述的相同。 –

0

如果傳遞的參數不是你想要的,則從你的方法拋出IllegalArgumentException