2016-09-28 136 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

相關問題