我正在创建一个应用程序,其中按钮的文本是随机字符串,并且所有随机字符串都存储在.txt文件中。我创建了一个返回字符串的方法,出于某种原因,每当我运行应用程序时,按钮都是空白的,并且没有文本。我知道这与文件io有关,因为如果我得到方法返回一个类似于&#34的设置字符串;嗨"那么按钮上的文字就好了。我正在添加我的oncreate方法以防万一。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game);
String str = "Hello there!";
TextView text = (TextView) findViewById(R.id.question);
text.setText(execute());
}
上面是我的oncreate,下面是我的文件档案
public static String execute() {
String number[] = new String[100];
double x = Math.random()*47;
int random = (int) Math.round(x);
int act = 0;
//The try/catch statement encloses some code and is used to handle errors and exceptions that might occur
try {
// Read in a file
BufferedReader in = new BufferedReader(new FileReader("activities"));
String str;
while ((str = in.readLine()) != null) {
number[act] = str;
act++;
}
in.close();
} catch (IOException e) {
System.out.println("Can not open or write to the file.");
}
return number[random];
}
答案 0 :(得分:2)
您已经提到尝试从.txt
文件中读取,但在FileReader
中,您只提供了一个名为activities
的名称而没有任何文件扩展名。这就是为什么没有显示出来的原因。
new FileReader("activities.txt"); // Should be something like this
此外,它需要是相对URL
甚至更好,尝试将您的文件放在assets
文件夹中,然后尝试从那里读取它。这是一种更好,更清洁的方法。
请查看此answer,了解如何从assets
文件夹中读取文件。