将意图从活动发送到片段

时间:2019-05-13 17:06:58

标签: android android-fragments

我想将意图从活动发送到片段。我知道如何像这样从片段发送到活动

Intent chatIntent = new Intent(getContext(), ChatActivity.class);
                                            chatIntent.putExtra("user_id", user_id);
                                            chatIntent.putExtra("user_name", userName);
                                            startActivity(chatIntent);

但是现在我想从活动发送到片段。我不必启动片段,我只想让我的活动中的ID之一可以在片段中访问。

2 个答案:

答案 0 :(得分:1)

通过activitybundle发送数据:

Bundle newBundle = new Bundle();
newBundle.putString("key", "text");
YourFragment objects = new YourFragment();
objects.setArguments(newBundle);

您在fragment函数中的onCreateView类:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
    if(getArguments() != null){
        String yourText = getArguments().getString("key");  
    }
    return inflater.inflate(R.layout.your_fragment, container, false);
}`

答案 1 :(得分:1)

将数据从活动传递到片段

Bundle bundle = new Bundle();
bundle.putString("params", "String data");
// set MyFragment Arguments
MyFragment fragment = new MyFragment();
fragment.setArguments(bundle);

接收片段中的数据

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (getArguments() != null) {
            mParam1 = getArguments().getString("params");
        }
    }