2016-09-28 96 views
0

我有一个关于片段的查询。 情景是:我登录后,我的活动有3个片段。对于我使用ViewPager的片段。现在我必须在我的一个片段中使用登录用户名。我使用putExtra从登录页面购买了用户名。我的查询是如何将该用户名的片段?将数据从基本活动发送到Android中的片段

+1

将它们放入包中并将它们传递给您的片段。 我建议你为此使用共享首选项。 –

+0

为什么你不使用共享首选项呢? –

+0

你是对的。也可以做到这一点,但我没有捆绑的东西,但在片段中得到空指针异常。任何想法!! –

回答

0

从你的活动,你可以故意发送数据:

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

,并在片段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); 
} 
+0

它将会很有帮助它在我们正在String中存储值的那一行的片段中显示空指针异常。 –

+0

@ArmanReyaz你可以尝试字符串strtext = this.getArguments()。getString(“username”); – Jaydroid

1

从你BaseActivity与intent发送数据:

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

并在您的FragmentonCreatView方法od:

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

它显示空值指针异常在我们正在存储值字符串中的行的片段。 –

+0

@ArmanReyaz你应该在添加片段到你的Activity之前设置包 –

1

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

相关问题