我不能在 Android 中使用 getResource().getString
I can´t use getResource().getString in Android
我正在覆盖 returns 一个 CharSequence 和它 returns charSequecence 的方法。
我也试过返回一个字符串。这是代码
public String getPageTitle(int position) {
return getResource().getString(R.string.tabla_del) + ": " + (position + 1);
}
一般来说,失败的原因有以下三个:
第一个,不存在上下文。解决这个问题,您需要将上下文对象传递给使用它的方法:
public String getPageTitle(Context context, int position) {
return context.getResource().getString(R.string.tabla_del) + ": " + (position + 1);
}
上下文变量是从 Activity/Fragment 传递的,但如果方法存在于 Activity/Fragment 中,则可以避免它;只需要 getContext()
或 getApplicationContext()
方法取决于它是 Activity 还是 Fragment.
public String getPageTitle(int position) {
return getContext().getResource().getString(R.string.tabla_del) + ": " + (position + 1);
}
第二个,不存在R
class导入。您应该检查您的 class 是否存在于子包中,例如:
您的主包是 com.example.androidapp
,它在 AndroidManifest 和 gradle 文件中有描述。因此,如果您的 class 存在于 com.example.androidapp.configuration
上,您需要从主包导入 R
class:
package com.example.androidapp.configuration
...
import com.example.androidapp.R;
...
public class Configuration {
...
}
第三个,字符串文件中不存在您需要的字符串。在这里你应该创建一个字符串文件并添加你需要的字符串。
试试下面的代码:
public String getPageTitle(int position) {
return this.getResources().getString(R.string.tabla_del)+ ": " + (position + 1);
}
或
public String getPageTitle(int position) {
return context.getResources().getString(R.string.tabla_del)+ ": " + (position + 1);
}
我正在覆盖 returns 一个 CharSequence 和它 returns charSequecence 的方法。 我也试过返回一个字符串。这是代码
public String getPageTitle(int position) {
return getResource().getString(R.string.tabla_del) + ": " + (position + 1);
}
一般来说,失败的原因有以下三个:
第一个,不存在上下文。解决这个问题,您需要将上下文对象传递给使用它的方法:
public String getPageTitle(Context context, int position) {
return context.getResource().getString(R.string.tabla_del) + ": " + (position + 1);
}
上下文变量是从 Activity/Fragment 传递的,但如果方法存在于 Activity/Fragment 中,则可以避免它;只需要 getContext()
或 getApplicationContext()
方法取决于它是 Activity 还是 Fragment.
public String getPageTitle(int position) {
return getContext().getResource().getString(R.string.tabla_del) + ": " + (position + 1);
}
第二个,不存在R
class导入。您应该检查您的 class 是否存在于子包中,例如:
您的主包是 com.example.androidapp
,它在 AndroidManifest 和 gradle 文件中有描述。因此,如果您的 class 存在于 com.example.androidapp.configuration
上,您需要从主包导入 R
class:
package com.example.androidapp.configuration
...
import com.example.androidapp.R;
...
public class Configuration {
...
}
第三个,字符串文件中不存在您需要的字符串。在这里你应该创建一个字符串文件并添加你需要的字符串。
试试下面的代码:
public String getPageTitle(int position) {
return this.getResources().getString(R.string.tabla_del)+ ": " + (position + 1);
}
或
public String getPageTitle(int position) {
return context.getResources().getString(R.string.tabla_del)+ ": " + (position + 1);
}