这里,TabView是添加此特定片段的类。 搜索是MainActivity,它从用户获取文件名。 assets文件夹中有一些文本文件。当用户输入名称时,例如hello, 它连接到hello.txt并作为变量存储在Search活动中。我使用return func获取此值。 所以,这里出现了主要问题。当我尝试从hello.txt获取数据时, 当应用到这个部分时,应用程序突然关闭..我到处搜索!找不到!请帮助..
public class fg1 extends Fragment {
LinearLayout layout;
private String file;
private Search obj;
private Context mX;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (container == null) {
return null;
}
layout = (LinearLayout)inflater.inflate(R.layout.fg_code, container, false);
TextView snippet = (TextView)layout.findViewById(R.id.codeView);
mX = TabView.getContext();
AssetManager assetManager = mX.getAssets();
file = obj.getFileName();
InputStream input;
try {
input = assetManager.open(file);
int size = input.available();
byte[] buffer = new byte[size];
input.read(buffer);
input.close();
// byte buffer into a string
String text = new String(buffer);
snippet.setText(text);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return layout;
}
}
答案 0 :(得分:1)
自己找到答案。对于任何将来的参考, 而不是从活动中获取数据,而是从托管特定片段的父活动将数据传递给片段(片段的构造函数是可取的)并使用它。