Activity向Fragment中传值
来源:互联网 发布:淘宝众筹失败了怎么办 编辑:程序博客网 时间:2024/04/29 15:14
activity向fragment中传值 1。要传的值 放到Bundle对象里
2。通过创建传递封Fragment 将bundle对象 通过 setArguments()传递到fragment
3.Fragment中 通过getArguments() 得到 bundle对象 就能得到里面的值
代码:
MainActivity:
- package com.qianfeng.activitytofragment;
- import android.annotation.SuppressLint;
- import android.app.Activity;
- import android.app.FragmentManager;
- import android.app.FragmentTransaction;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.EditText;
- @SuppressLint("NewApi")
- public class MainActivity extends Activity {
- private EditText et1;
- private FragmentManager manager;
- private FragmentTransaction transaction;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- et1 = (EditText) findViewById(R.id.et1);
- manager = getFragmentManager();
- transaction = manager.beginTransaction();
- transaction.add(R.id.contents, new Fragment1());
- transaction.commit();
- }
- //点击按钮时 进行传值
- public void onclickBtn(View v){
- switch (v.getId()) {
- case R.id.button1:
- Fragment1 fragment1 = new Fragment1();
- Bundle bundle = new Bundle();
- String strValue = et1.getText().toString().trim();
- bundle.putString("str", strValue);
- fragment1.setArguments(bundle);
- //如果transaction commit()过 那么我们要重新得到transaction
- transaction = manager.beginTransaction();
- transaction.replace(R.id.contents, fragment1);
- transaction.commit();
- break;
- default:
- break;
- }
- }
- }
Fragment :
- package com.qianfeng.activitytofragment;
- 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 Fragment1 extends Fragment{
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- View view = inflater.inflate(R.layout.fragment_layout1, container, false);
- TextView textView1 = (TextView) view.findViewById(R.id.textView1);
- Bundle bundle = getArguments();//从activity传过来的Bundle
- if(bundle!=null){
- textView1.setText(bundle.getString("str"));
- }
- return view;
- }
- }
阅读全文
0 0
- Activity向Fragment中传值
- Fragment向activity中传值
- Activity向Fragment中传值
- Activity向Fragment中传值
- Activity向Fragment中传值
- fragment向Activity中传值
- Activity向Fragment中传值
- Activity向Fragment中传值
- Adapter,Fragment向所属的activity中传值
- activity向Fragment传值
- Activity向Fragment传值
- Activity向fragment传值
- Fragment向Activity传值
- Fragment向Activity传值
- Activity向Fragment传值
- Activity向Fragment传值
- fragment向activity传递数据
- Activity向Fragment传递数据
- 堆以及堆排序
- 外卖不是你想卖,想卖就能卖
- CentOS6.5下Elasticsearch5.6.4安装填坑
- 二叉树的遍历
- 【NOIP普及组2017】成绩Score
- Activity向Fragment中传值
- “Pig Latin”英语儿童文字改写游戏
- POJ 1258 Agri-Net
- 每日一点linux: 前后台进程切换
- eclipse web 项目中配置jetty-maven-plugin 版本 9.4.2.v20170220
- 泛型
- 走近80后亿万富翁(组图)
- BZOJ 2669: [cqoi2012]局部极小值 状压dp 容斥原理
- 基于B/S架构的kettle7版本的作业和转换集成管理工具