R.string.value Help android notification

2020-06-08 03:49发布

whats the deal with

 CharSequence contentTitle = R.string.value;

Error cannot convert from int to CharSequence. Is there a way around this or am i missing something? i tried

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

it returns integers values. Any help?

4条回答
我只想做你的唯一
2楼-- · 2020-06-08 03:58

You could use String s = getResources().getString(R.string.value); also.

查看更多
老娘就宠你
3楼-- · 2020-06-08 04:01

R.string.value is a call to the static field in the class R, which is auto generated by Eclipse and which does a kind of summary of all your resources. To retrieve the string, you need to use :

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

If you open the R class you will see that it contains only numbers that are references to the compiled resources of your project.

查看更多
趁早两清
4楼-- · 2020-06-08 04:02

R.string.value returns the reference ID number of the resource 'value'. If you look at your R class it will appear as something like this:

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

I've been experiencing issues with referencing the getString() method. The exact error that Eclipse spits at me is:

The method getString(int) is undefined for the type DatabaseHelper.MainDatabaseHelper

After reading for awhile I've figured out that you must reference your application's context to get access to the getString() method. I was trying to create a private SQLDatabase helper class in a content provider, however, that was not allowing me to reference the getString() method. My solution so far is to do something like this:

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));
    }
}

Notice these two context references:

context.getString()

(getContext()).getString()

I don't know if this is the optimal long-term solution but it seems to work for the moment. Hope this helps.

查看更多
姐就是有狂的资本
5楼-- · 2020-06-08 04:12

To retrieve the string, you need to use getString(),

but getString() is a method from Context class. If you want to use this method outside your Activity class, you should get link to your context first and then call:

String s = mContext.getString(R.string.somestring)
查看更多
登录 后发表回答