【问题标题】:R.string.value Help android notificationR.string.value 帮助android通知
【发布时间】:2011-03-22 18:02:37
【问题描述】:

有什么关系

 CharSequence contentTitle = R.string.value;

错误无法从 int 转换为 CharSequence。有没有办法解决这个问题或者我错过了什么? 我试过了

String s = R.string.value + "";
CharSequence contentTitle = s;

它返回整数值。 有什么帮助吗?

【问题讨论】:

    标签: android int charsequence


    【解决方案1】:

    你也可以使用String s = getResources().getString(R.string.value);

    【讨论】:

    • 如何在viewPagerAdapter等java类(非activity)中获取访问权限。我没有'getContext'?
    【解决方案2】:

    R.string.value 返回资源“值”的参考 ID 号。如果您查看您的 R 类,它将显示为如下所示:

    public static final class string {
      public static final int value=0x7f040007;
    }
    

    我在引用 getString() 方法时遇到了问题。 Eclipse 向我吐口水的确切错误是:

    DatabaseHelper.MainDatabaseHelper 类型的方法 getString(int) 未定义

    阅读了一段时间后,我发现您必须引用应用程序的上下文才能访问 getString() 方法。我试图在内容提供程序中创建一个私有 SQLDatabase 帮助程序类,但是,这不允许我引用 getString() 方法。到目前为止,我的解决方案是这样做:

    private class MainDatabaseHelper extends SQLiteOpenHelper {
    
        MainDatabaseHelper(Context context) {
            super(context, context.getString(R.string.createRoutesTable), null, 1);
        }
    
        public void onCreate(SQLiteDatabase db) {
            db.execSQL((getContext()).getString(R.string.createRoutesTable));
        }
    }
    

    注意这两个上下文引用:

    上下文.getString()

    (getContext()).getString()

    我不知道这是否是最佳的长期解决方案,但目前看来可行。希望这会有所帮助。

    【讨论】:

      【解决方案3】:

      要检索字符串,需要使用getString(),

      但 getString() 是来自 Context 类的方法。 如果你想在你的 Activity 类之外使用这个方法,你应该先链接到你的上下文,然后调用:

      String s = mContext.getString(R.string.somestring)
      

      【讨论】:

        【解决方案4】:

        R.string.value 是对 R 类中静态字段的调用,它是由 Eclipse 自动生成的,它对您的所有资源进行了一种汇总。要检索字符串,您需要使用:

        CharSequence contentTitle = getString(R.string.value);
        

        如果您打开 R 类,您会看到它只包含引用您项目的已编译资源的数字。

        【讨论】:

        • @Sephy 我遇到了 getString() 的问题,我不断收到“方法 getString(int) 未定义...”我做错了什么?
        • 用这种方法能得到什么?
        • @Sephy 我只是想检索存储在 strings.xml 中的实际值
        • 也许这有助于解决他的问题? => context.getString(R.string.value)
        • 你也可以试试 getResources().getString(R.string.value)
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-06-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多