您的位置:首页 > 其它

通过回调,Fragment向Activity传递信息

2015-09-12 11:17 351 查看
可以定义一个接口,然后在Acitivity中实现该接口,在Fragement中通过回调,将信息发送至Acitivity中

MainActivity.java:

interface CallBack {
public void call(Bundle arg);

}
public class MainActivity extends Activity implements CallBack{

Button sendButton;
String  name=null;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

ChooseFragment chooseFragment=new ChooseFragment();
FragmentTransaction transaction=getFragmentManager().beginTransaction();
transaction.replace(R.id.main, chooseFragment);

}

@Override
public void call(Bundle arg) {
String s=arg.getString("name");
Toast.makeText(this,s,Toast.LENGTH_SHORT).show();
name=s;
}

}
ChooseFragment.java
public class ChooseFragment extends Fragment {

CallBack callBack=null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {

View view= inflater.inflate(R.layout.fragment_choose, container, false);
Bundle bundle=new Bundle();
bundle.putString("name","hello");
callBack.call(bundle);
return view;
}

@Override
public void onAttach(Activity activity){
super.onAttach(activity);
callBack=(MainActivity)activity;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: