会飞的鱼

奇乐云
首页 » Android » (4)Fragment activity传值个fragment

(4)Fragment activity传值个fragment

本次就不接受如何引用2个布局文件和布局代码了
如果不懂可以看前2章的教程

(1):主代码传值到fragment
[1]主代码(传值)
package com.example.administrator.fragment_value;

import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

import java.util.Date;

public class MainActivity extends AppCompatActivity {

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

    public void click1(View v){
        MyFragment myFragment = new MyFragment();//打开的布局
        FragmentManager fragmentManager = getSupportFragmentManager();//声明事件
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();//开启事件
        fragmentTransaction.replace(R.id.linearlayout,myFragment);//引入布局
        fragmentTransaction.addToBackStack(null);//把方法加入栈中
        fragmentTransaction.commit();//提交
        //开始传值  bundle里面封装了一个map方法
        Bundle bundle = new Bundle();//Bundle 建值储存对象
        bundle.putString("data",new Date().toString());//设置建值
        myFragment.setArguments(bundle);//开始传入
    }
}

[2]Fragment文件代码(接收值)
package com.example.administrator.fragment_value;

import android.graphics.Color;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

public class MyFragment extends Fragment {
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.zhi,container,false);
        TextView textView = view.findViewById(R.id.textView);//查找控件
        Bundle arguments = getArguments();//接收消息
        String data = (String) arguments.get("data");//通过键值获取数据
        textView.setText(data);//设置文本数据
        textView.setTextColor(Color.GREEN);
        textView.setBackgroundColor(Color.rgb((int)(Math.random()*255)+1,(int)(Math.random()*255)+1,(int)(Math.random()*255)+1));
        return view;
    }
}

文章如无特别注明均为原创! 作者: 奇乐云, 转载或复制请以 超链接形式 并注明出处 奇乐云's blog - 奇乐云的个人博客
原文地址《 (4)Fragment activity传值个fragment》发布于2018-12-26

分享到:
打赏

评论

游客

切换注册

登录

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册