首页 > 解决方案 > 将字符串资源转换为字符串

问题描述

我已经尝试使用

String mystring = getResources().getString(R.string.mystring);

我在这篇文章中找到了相同的主题How can I convert the android resources int to a string。例如:android.R.string.cancel?. 但这在我的情况下不起作用。

这是我的代码:

public class Film{


  private int image;
    private String name;
    private  String schedule;
    private  String description;

    public Film() {
    }

    public int getImage() {
        return image;
    }

    public void setImage(int image) {
        this.image = image;
    }

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
       ...
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
}

public class FilmList {


 public static   ArrayList<Film> getFilms(){
        ArrayList<Film>films=new ArrayList<>();
        Film film=null;

        film =new Film();
        film.setName(getResources().getString(R.string.name1));
        film.setImage(R.drawable.img1);
        film.setDescription(getResources().getString(R.string.desc1));
        films.add(film);

        film =new Film();
        film.setName(getResources().getString(R.string.name2));
        film.setImage(R.drawable.img2);
        film.setDescription(getResources().getString(R.string.desc2));
        films.add(film);

        return films
         }
    }

标签: androidstringresources

解决方案


如果您无权访问 a Context(例如通过ActivityServiceContentProviderBroadcastReceiver),则无法获得字符串资源。

如果您有一个不是上述之一的类并且它需要获取字符串资源,则您必须将 a 传递Context给该类以便它可以检索资源,或者将该类传递给已解析的资源。


推荐阅读