Bundle getExtras()仅适用于错误一次

时间:2016-01-25 19:04:05

标签: java android

我存储了使用getExtras推送的按钮文本。文本是文件名。我使用这种方法是因为我将它传递给另一个活动。我可以检索一次,然后我得到一个文件未找到错误。这是我的代码。

这是main.java文件,它获取按钮的文本并存储它。这很有效。

public void onClick(View v) {
    Button button = (Button)v;
    String btnText = button.getText().toString();
    // Used for debug
    System.out.println("In Main (btnText) --  " + btnText);

    Bundle bundle = new Bundle();
    bundle.putString("btnNameStored", btnText);

    Intent showPart = new Intent(this, PartActivity.class);
    showPart.putExtras(bundle);
    startActivity(showPart);

然后我在其他活动中得到它。

    Bundle bundle = getIntent().getExtras();

    String btnPushed = bundle.getString("btnNameStored");
    String btnName = btnPushed + ".txt";
    // Used for debug
    System.out.println("Part Java (btnName)  --  " +btnName);

    BufferedReader reader;
    try {
        InputStream is = getAssets().open(btnName);

这是它失败的线。 InputStream是= getAssets()。open(btnName);

这是仅适用一次的部分。这两个文件都在assets文件夹中。 按钮排列成网格,两列和x行。如果按第1行第2行中的按钮,则会失败。只有按下第1行col 1中的按钮才能正常工作。不知道为什么只有第一个按钮按下才有效。

提前致谢,

这里有例外 - W / System.err:java.io.FileNotFoundException:round.txt

Here's the image

1 个答案:

答案 0 :(得分:0)

不确定为什么会这样,但我删除了我的资源文件夹中的所有txt文件,然后重新创建它们。现在它工作得很好。 Windows应该是已知的。