错误:(64,72)错误:非静态方法getString(int)

时间:2016-01-28 21:25:23

标签: java android

出了什么问题? 我试图提取strings.xml中使用的字符串 但我得到错误:

Error:(64, 72) error: non-static method getString(int) cannot be referenced from a static context

代码:

private static String file_url  = "http://xxxx.yy/" + getString(R.string.next_update_id);

3 个答案:

答案 0 :(得分:4)

创建扩展Application的类MyApplication。实施单身人士:

private static MyApplication instance;

public static MyApplication getInstance() {
     return instance;
}

public void onCreate() {
        instance = this;
}

然后使用MyApplication.getInstance().getString(R.string.next_update_id)

希望它有所帮助!!!

答案 1 :(得分:1)

您收到的消息已经是答案:getString是一种非静态方法,您尝试在静态上下文中使用它。这里"静态背景"意味着定义一个静态变量。

private static String file_url 

您可以通过从成员声明中删除static修饰符来解决此问题。

答案 2 :(得分:0)

简单修复

    private static String file_url;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Add only this
        file_url = "http://xxxx.yy/" + getString(R.string.next_update_id);
}