我是一个真正的编程初学者,所以请原谅我。
我有一个字符串数组,其中填充了一组引号,我有一种方法随机选择一个引号显示在屏幕上。这一切都很完美,我现在想采取下一步。我希望能够将用户在我创建的 Activity 上输入的文本添加到此数组中。我知道数组是不可变的,但我无法弄清楚如何创建 ArrayList,用我的 50 多个引号预先填充它,然后能够在以后通过应用程序添加更多内容。
这是我目前拥有的代码...
public class FactBook {
public String[] mFacts = {
"Quote 1.",
"Quote 2.", };
public String getFact() {
String fact = "";
Random randomGenerator = new Random();
int randomNumber = randomGenerator.nextInt(mFacts.length);
fact = mFacts[randomNumber];
return fact;
}
最佳答案
引用文献
import java.util.ArrayList;
import java.util.Arrays;
public class FactBook {
// Public data members are not recommended.
// Make it at least protected and arrange controlled access to it
// by specific methods
public ArrayList<String> mFacts =
new ArrayList<String>(
Arrays.asList("Quote 1.", "Quote 2.")
)
};
public String getFact() {
String fact = "";
// Do you need to create a new Random every time?
// Perhaps creating it only once and storing it in a static
// (class wide) data member will be just as good: create it once,
// reuse it later.
Random randomGenerator = new Random();
int randomNumber = randomGenerator.nextInt(mFacts.size());
fact = mFacts.get(randomNumber);
return fact;
}
// how to add
public void add(String newQuip) {
// Don't accept null or "all-white character" quotes
if(null!=newQuip && newQuip.trim().length()>0) {
this.mFacts.add(newQuip);
}
}
}
关于java - 在 Android Studio 中创建可变 ArrayList 以保存输入文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40249364/