android - 在 fragment 中获取 Intent

标签 android android-fragments android-intent

看到this后问题,引起了我的思考。我可以通过在 onCreateView 中调用它来获取 Fragment 中的 Intent:

String Item = getActivity().getIntent().getExtras().getString("name");

这个问题是 getActivity 可能会返回 null,以对抗我可以调用:

if(getActivity() != null)
    String Item = getActivity().getIntent().getExtras().getString("name");
}

这会很好地工作,但是..


我正在考虑在我的 Activity 中创建一个静态方法,然后通过调用该方法来访问我的 fragment 中的 Intent,如下所示(在我的 Activity 中):

public class DemoActivity extends Activity{
    static String name;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_demo);
        //Getting the Intent from the previous Activity
        name = getIntent().getStringExtra("name");
    }

    public static String Name(){
        //returning the Intent
        return name;
    }

}

然后在我的 fragment 中我可以这样调用它:

String name = DemoActivity.Name();

我的问题:

我可以这样做吗?它会引起任何问题吗?为什么?


目前

工作正常。

最佳答案

尝试这样:

Activity 类别:

 Bundle bundle = new Bundle();
 bundle.putString("your_key", "your_value");
 your_fragment.setArguments(bundle); 

fragment 类:

String your_variable = getArguments().getString("your_key");

关于android - 在 fragment 中获取 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51513679/

相关文章:

android - 带有 Activity 切换的 Google Play 游戏服务多人游戏

android - 如何将字符串从 Activity 发送到 Fragment

android - 无法将小部件 ID 传递给配置 Activity

java - 错误: java. lang.RuntimeException,如何正确从 Intent 中获取额外内容?

android - 如何在android中的clickListener上增加/减少STROKE宽度

Android 应用程序在膨胀新 View 元素时崩溃

android - RecyclerView 在设备方向更改时保存位置

java - 更改 Activity 时按钮不起作用

Android Studio 和 Keytool - Keystore 被篡改,或者密码不正确

java - 无法在 fragment 中使用适配器显示 ListView