首页 > 解决方案 > 带有来自静态类的 getString 的 ArrayList

问题描述

我有这样的课:

import java.util.ArrayList;

/*  Get ArrayList  of UserModel type  */
public class GetUserModelData {
    public static ArrayList<UserModel> getUserModelData() {
        ArrayList<UserModel> arrayList = new ArrayList<>();
        arrayList.add(new UserModel("Droid", "droid@gmail.com"));
        arrayList.add(new UserModel("John", "john@gmail.com"));
        arrayList.add(new UserModel("David" , "david@gmail.com"));
        arrayList.add(new UserModel("Humpy", "humpy@gmail.com"));
        arrayList.add(new UserModel("Sharma", "sharma@gmail.com"));
        arrayList.add(new UserModel("Dravid", "dravid@gmail.com"));
        return arrayList;
    }
}

我想使用 getString 而不是硬编码文本。因为这个 ArrayList 数据集用于多个 Fragment。

谁能帮我。

标签: javaandroid

解决方案


如果要在单独的类中使用 getString 而不是硬编码文本,则需要将 Context 作为参数传递,如下所示:

public static ArrayList<UserModel> getUserModelData(Context context) {
}

然后像这样使用它:

arrayList.add(new UserModel(context.getResources().getString(R.string.droidName), context.getResources().getString(R.string.droidEmail)));

不要忘记将您的文本放入strings.xml文件中

 <string name="droidName">Droid</string>
 <string name="droidEmail">droid@gmail.com</string>

推荐阅读