获取Android java数字常量/错误代码的字符串表示形式

时间:2014-01-21 16:15:15

标签: java android

许多Android java方法返回数值常量值。在向用户记录或显示值时,我想自动将这些值转换为字符串(类似于Windows API FormatMessage() / FORMAT_MESSAGE_FROM_SYSTEM)。但是,除了切换所有可能的值并生成匹配的字符串之外,我找不到一种方法。

例如:android.net.wifi.p2p.WifiP2pManager.ActionListener.onFailure()返回一个整数值:ERROR(0),P2P_UNSUPPORTED(1),BUSY(2)。我想将数字转换为适当的字符串。我可以编写一个这样的开关案例:

public void onFailure(int reason) {
    String strReason;
    switch (reason) {
    case WifiP2pManager.BUSY: strReason = "BUSY"; break;
    case WifiP2pManager.ERROR: strReason = "ERROR"; break;
    case WifiP2pManager.P2P_UNSUPPORTED: strReason = "P2P_UNSUPPORTED"; break;
    default: strReason = Integer.toString(reason);
    }
    Log.d(TAG, "onFailure failed, reason=" + strReason);            
}   

但是我想避免它,特别是当有超过3个可能的返回值时。

我尝试在StackExchange和其他网站上进行了大量搜索,但所有结果都与整数解析有关。

有什么方法可以实现我的目标?

1 个答案:

答案 0 :(得分:0)

您正在寻找的功能根本不存在。你别无选择,只能坚持使用switch方法。