我存储了使用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
答案 0 :(得分:0)
不确定为什么会这样,但我删除了我的资源文件夹中的所有txt文件,然后重新创建它们。现在它工作得很好。 Windows应该是已知的。