我有两个片段,一个带有列表视图,另一个带有文本视图,我想选择一个项目时,它的文本用于在另一个片段的文本视图上设置文本并显示另一个片段。
所以我像这样在listview(lv)上设置了onItemClickListener;
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View v1,
int pos, long arg3) {
String hh = lv.getItemAtPosition(pos).toString().toLowerCase();
int resd = getResources().getIdentifier(hh, "raw", getPackageName());
InputStream isd = getResources().openRawResource(resd);
BufferedReader brd = new BufferedReader(new InputStreamReader(isd));
String lined;
String entireFiled = "";
try {
while((lined = brd.readLine()) != null) {
entireFiled += (lined + "\n");
}
}
catch (Exception e) {
Toast.makeText(getApplicationContext(),"Error reading file!",Toast.LENGTH_LONG).show();
e.printStackTrace();
}
TextView output1= (TextView) findViewById(R.id.fp);
output1.setText(entireFiled);
Family frag5 = new Family();
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction().replace(R.id.fl, frag5).addToBackStack(null);
ft.commit();
}
});
另一个片段称为Family,其文本视图为output1。当我运行它时,我在textview行得到null异常。那我该怎么做?谢谢你
您需要使用setArgument
Family frag5 = new Family();
Bundle args = new Bundle();
args.putString("text", entireFiled);
frag5 .setArguments(args);
获取Family Fragment OnCreateView方法中的值
TextView output1= (TextView) findViewById(R.id.fp);
String text = getArguments().getString("text", "");
output1.setText(text);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句