【问题标题】:Sending data from Base Activity to Fragment in Android [duplicate]在Android中将数据从基本活动发送到片段[重复]
【发布时间】:2017-02-06 07:24:11
【问题描述】:

我有一个关于片段的问题。 场景是:登录后,我正在进行一个有 3 个片段的活动。对于片段,我使用了 ViewPager。现在我必须在我的片段之一中使用登录用户名。我已经使用 putExtra 从登录页面购买了用户名。我的问题是如何将该用户名带到片段中??

【问题讨论】:

  • 将它们打包并传递给您的片段。我建议您为此使用共享首选项。
  • 你为什么不为此使用共享偏好?
  • 你是对的。也可以这样做,但我做了捆绑的事情,但在片段中得到了空指针异常。任何想法!
  • 不知道如何使用共享偏好。
  • 分享代码sn-p会有帮助

标签: android android-fragments android-activity


【解决方案1】:

从您的 BaseActivity 使用 intent 发送数据:

Bundle bundle = new Bundle();
bundle.putString("username", "From your BaseActivity");
// set Fragmentclass Arguments
Fragmentclass fragmentclass = new Fragmentclass();
fragmentclass .setArguments(bundle);

在你的 Fragment onCreatView 方法中:

@Override
 public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
    String username= getArguments().getString("username");    
    return inflater.inflate(R.layout.yourFragment, container, false);
}

【讨论】:

  • 它在我们将值存储在字符串中的行的片段中显示空指针异常。
  • @ArmanReyaz 您应该在将片段添加到您的活动之前设置捆绑包
【解决方案2】:

您也可以使用 SharedPreferences。 将用户名或您想要保存的任何内容存储在 SharedPreferences 中,并在应用程序的任何位置使用它。 供您参考SharedPreferences Tutorials

【讨论】:

    【解决方案3】:

    从您的活动中,您可以发送有意图的数据:

    Bundle bundle = new Bundle();
    bundle.putString("username", "abcd");
    // set Fragmentclass Arguments
    FragmentClass frag_one = new Fragmentclass();
    frag_one.setArguments(bundle);
    

    并在 Fragment onCreateView 方法中添加以下代码:

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    String strtext = getArguments().getString("username");    
    return inflater.inflate(R.layout.fragment_layout, container, false);
    }
    

    【讨论】:

    • 它在我们将值存储在字符串中的行的片段中显示空指针异常。
    • @ArmanReyaz 你可以试试 String strtext = this.getArguments().getString("username");
    猜你喜欢
    • 1970-01-01
    • 2012-09-26
    • 1970-01-01
    • 2019-06-27
    • 2016-12-23
    • 1970-01-01
    • 2017-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多