【发布时间】:2017-09-14 01:00:41
【问题描述】:
我正在 Android Studio 上开发一个应用程序,该应用程序将使用 2 种不同的语言。我为每种语言做了两个不同的字符串。我不得不将字符串放在一个列表中,并调用一个 Random 来每天向用户显示不同的通知。
这是我的代码:
strings.xml
<string-array name="notifications">
<item>No1</item>
<item>No2</item>
<item>No3</item>
<item>No4</item>
<item>No5</item>
</string-array>
Choose.java 类
public class Choose extends AppCompatActivity {
String[] conseils=getResources().getStringArray(R.array.notifications);
public String getPhraseHasard() {
Random random = new Random();
int hasard = random.nextInt(conseils.length);
return conseils[hasard];
} }
Notification.java 类
public class Notification extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
.....
NotificationCompat.Builder myNotifBuilder = new NotificationCompat.Builder(context);
myNotifBuilder.setSmallIcon(R.mipmap.ic_mind);
myNotifBuilder.setContentTitle("A tip");
myNotifBuilder.setContentText(Choose.getPhraseHasard());
myNotifBuilder.setStyle(new NotificationCompat.BigTextStyle().bigText(Choose.getPhraseHasard()));
myNotifBuilder.setAutoCancel(true);
notifManager.notify(goOn, myNotifBuilder.build());
} }
我的问题: getPhraseHasard() 是一个非静态方法,所以我不能在通知中使用它。 当我在选择中放置静态时,我不能,因为 getResources() 也是一个非静态方法。 有什么建议吗?
【问题讨论】:
-
你需要一个选择类的实例...
-
也许阅读一些有关 Java 编程语言基础知识的东西会很有用。顺便说一句Static vs. non-static
标签: java android arrays xml static