我试图将数据从我的Activity类简单地发送到片段,但是当我试图在片段中调用“ setText(String text)”时,程序崩溃了。
ActivityClass:
Fragment_green green = new Fragment_green();
transaction.replace(R.id.infoFragment, green);
transaction.addToBackStack(null);
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
transaction.commit();
green.setText("bar"); //Works okay this far
我的Fragment_green:
public class Fragment_green extends Fragment {
String textShow;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
return inflater.inflate(R.layout.fragment_green, container, false);
}
public void setText(String text){
TextView textView = (TextView) getView().findViewById(R.id.textGreen);
textView.setText(text); //Crash :(
}}
其他一切正常。我可以将片段更改为另一个,依此类推。
我看过几篇类似的文章,但是当我试图劝说那些文章时,还会出现其他问题。
我感谢所有有用的答案!
最佳答案
如果确定textview位于片段布局中,则可能是生命周期错误。当您尝试访问textview时,片段的视图并没有被放大。
不建议以这种方式将信息传递给片段。尝试通过捆绑传递字符串,并在调用onCreateView时在textview中设置文本。
关于android - Android:将数据发送到 fragment ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20080438/