我重写了一个返回CharSequence的方法,并返回charSequecence。 我也试过返回一个String。这是代码
public String getPageTitle(int position) {
return getResource().getString(R.string.tabla_del) + ": " + (position + 1);
}
答案 0 :(得分:2)
通常有三个原因导致失败:
第一个,不存在上下文。解决这个问题,您需要将上下文对象传递给使用它的方法:
public String getPageTitle(Context context, int position) {
return context.getResource().getString(R.string.tabla_del) + ": " + (position + 1);
}
上下文变量是从Activity / Fragment传递的,但如果Activity / Fragment中存在方法,则可以避免;只需要getContext()
或getApplicationContext()
方法取决于它是活动还是碎片。
public String getPageTitle(int position) {
return getContext().getResource().getString(R.string.tabla_del) + ": " + (position + 1);
}
第二个,没有导入R
类。您应该检查您的类是否存在于子包内,例如:
您的主要包是com.example.androidapp
,它在AndroidManifest和gradle文件中有所描述。因此,如果您的类存在于com.example.androidapp.configuration
上,则需要从主程序包导入R
类:
package com.example.androidapp.configuration
...
import com.example.androidapp.R;
...
public class Configuration {
...
}
第三个, 字符串文件上不存在您需要的字符串。在这里,您应该创建一个字符串文件并添加您需要的字符串。
答案 1 :(得分:1)
尝试以下代码:
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);
}