Android case context.getResources()。getIdentifier(resName,resType,pck):

时间:2015-10-28 03:45:15

标签: android expression constants

在我的Android应用中:我用 MyR.getResId()替换了R.id。

public void onClick(View v)
{
    int id = v.getId();

    switch (id)
    {
        case MyR.getResId(getApplicationContext(), "id", "title_left_image "):                       
            exit();
            break;
        default :
            break;
    }

}

但是返回一条异常消息:

  

案例表达式必须是常量表达式

这是我的MyR代码:

public class MyR {
public static int getResId(Context context, String resType, String resName) {
    int resId = 0;       
    String pck = context.getPackageName();   
    if (resId <= 0) {
        resId = context.getResources().getIdentifier(resName, resType, pck);
        if (resId <= 0)
            resId = context.getResources().getIdentifier(
                    resName.toLowerCase(), resType, pck);
    }
final int rid = resId;
    return rid ;
}}

1 个答案:

答案 0 :(得分:0)

试试这个,

<head>
<title>Login System with CI</title>
</head>
<body>
    <h1>Login</h1>
    <?php echo validation_errors();?>
    <?php echo form_open('LoginController/index.php/checkLogin');?>
        Username: </br>
        <input type='text' name='username'/></br>
        Password: </br>
        <input type='password' name='password'/><br/><br/>
        <input type='submit' name='submit' value='Login'/>
    </form>
</body>