0

我正在制作一个应用程序,其中按钮的文本是随机字符串,所有随机字符串都存储在 .txt 文件中。我创建了一个返回字符串的方法,由于某种原因,每当我运行应用程序时,按钮都是空白的,并且上面没有文本。我知道这与文件 io 有关系,因为如果我得到返回一个像“hi”这样的集合字符串的方法,那么按钮上的文本将是 hi。我正在添加我的 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 下面是我的 fileio 文件

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];
}
4

1 回答 1

2

您已经提到您尝试从.txt文件中读取,但在 中FileReader,您只给出了一个activities没有任何文件扩展名的名称。这就是为什么什么都没有显示的原因。

new FileReader("activities.txt"); // Should be something like this

此外,它要么需要是相对的,URL要么甚至更好,尝试将您的文件放入文件assets夹中,然后尝试从那里读取它。这是一种更好、更清洁的方法。

查看有关如何从文件夹中读取文件的答案。assets

于 2013-04-05T03:00:13.173 回答