本文主要讲述activity与fragment之间互相传值。
首先,activity往fragment中传值,有很多时候是不需要的,因为activity持有fragment的对象,或者控件,方法就可以直接调用,也可以根据传参给传值,这都是比较简单的但是,对于一些比较不同的情况可能需要传值,这个怎么解决呢,下面直接上代码。
这是SendActivity的代码
public class SendActivity extends ActivityBase{
//接受内容的fragment
private Fragmentreceive frag;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sendview);
//发送按钮
TextView tv= (TextView) findViewById(R.id.send);
frag = new Fragmentreceive();
tv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Bundle bundle = new Bundle();
//bundle这里可以放什么都行,各种类型,各种数据
bundle.putSerializable("这里是你的key,同上文",Object);
frag.setArguments(bundle);
}
});
}
}
这是接受的fragment
public class Fragmentreceive extends Fragment {
private View view;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment_homepage_court, container, false);
Bundle bundle=getArguments();
bundle.getSerializable("这里同样是KRY");
//初始化位置
return view;
}
}
基本上这些可以解决问题,特殊的就是你需要灵活运用,还有就是传值的类需要序列化