Fragment之间传值的方法
来源:互联网 发布:淘宝店有营业执照吗 编辑:程序博客网 时间:2024/05/22 14:33
Activity布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <fragment android:id="@+id/fg1" android:name="mars.day12_fragmenttofragment.Fragment1" android:layout_height="match_parent" android:layout_weight="1" android:layout_width="0dp"/> <LinearLayout android:id="@+id/fg2" android:layout_height="match_parent" android:layout_weight="1" android:layout_width="0dp" android:orientation="horizontal"> </LinearLayout> </LinearLayout>
Fragment1布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#00ff00" android:gravity="center"> <EditText android:id="@+id/et" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="30sp"/> <Button android:id="@+id/bt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="发送" android:textSize="30sp"/> </LinearLayout>Activity的代码
package mars.day12_fragmenttofragment; import mars.day12_fragmenttofragment.Fragment1.CallBack; import android.os.Bundle; import android.annotation.SuppressLint; import android.app.Activity; import android.app.FragmentManager; import android.app.FragmentTransaction; import android.view.Menu; public class MainActivity extends Activity implements CallBack{ FragmentManager fm; @SuppressLint("NewApi") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); fm=getFragmentManager(); FragmentTransaction shiwu = fm.beginTransaction(); shiwu.replace(R.id.fg2,new Fragment2()); shiwu.commit(); } @SuppressLint("NewApi") @Override public void getData(String data) { Fragment2 fg2=new Fragment2(); Bundle bundle=new Bundle(); bundle.putString("mes",data); fg2.setArguments(bundle); FragmentTransaction shiwu = fm.beginTransaction(); shiwu.replace(R.id.fg2,fg2); shiwu.commit(); } }
Fragment1的代码
package mars.day12_fragmenttofragment; import android.annotation.SuppressLint; import android.app.Activity; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.Button; import android.widget.EditText; @SuppressLint("NewApi") public class Fragment1 extends Fragment{ EditText et; CallBack call; @Override public void onAttach(Activity activity) { super.onAttach(activity); call=(CallBack) getActivity(); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view=inflater.inflate(R.layout.fragment1,container,false); et=(EditText) view.findViewById(R.id.et); Button bt=(Button) view.findViewById(R.id.bt); bt.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { call.getData(et.getText().toString()); } }); return view; } public interface CallBack { public void getData(String data); } }
Fragment2布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#0000ff" android:gravity="center"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="30sp" android:text="接收的内容:"/> <TextView android:id="@+id/tv" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="30sp"/> </LinearLayout>Fragment2的代码
package mars.day12_fragmenttofragment; import android.annotation.SuppressLint; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; @SuppressLint("NewApi") public class Fragment2 extends Fragment{ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view=inflater.inflate(R.layout.fragment2,container,false); TextView tv=(TextView) view.findViewById(R.id.tv); Bundle bundle=getArguments(); //判断需写 if(bundle!=null) { tv.setText(bundle.getString("mes")); } return view; } }
0 0
- Android fragment 之间传值的方法
- Fragment之间传值的方法
- Fragment 之间的传值
- Fragment之间传值
- Fragment之间传值
- Fragment之间传值
- Fragment 之间传值
- Activity和Fragment之间的传值
- Activity与Fragment之间的传值
- Activity与Fragment之间的传值
- Fragment与Activityz之间的传值
- Activity与Fragment之间的传值
- Android Fragment传递参数_Fragment之间传值的两种方法
- ANDROID FRAGMENT传递参数_FRAGMENT之间传值的两种方法
- ANDROID FRAGMENT传递参数_FRAGMENT之间传值的两种方法
- Activity和Fragment之间相互传值和调用方法
- Fragment之间通过EventBus相互传值或调用方法
- Fragment Activity之间的通信方法之一
- Java浮点数float和double精确计算的精度误差问题总结
- Android 4.4系统原生截图解析
- php 递归获取指定目录下,所有子级、孙级文件路径。
- Android Studio自定义注释模板
- Linux makefile 教程比较经典
- Fragment之间传值的方法
- NavigationView 实现侧滑菜单 改变菜单颜色的属性
- (整理Linux书签)——Vim命令的使用
- Parallels Desktop12集成多种功能 运行更流畅
- 在ubuntu下安装配置hadoop 2.0
- AndroidStudio中如何使用ButterKnife
- NOIP 2016 提高组总结~~
- Maven javaDoc plugin插件使用说明&maven编译乱码解决方案
- Android学习日记(yzy):opengl 绘制2d图形 基本框架