![](/img/trans.png)
[英]Why do I keep getting null when trying to pass a bundle from my activity to my fragment?
[英]Why is my data being displayed as null when trying to pass it from my activity to fragment?
我正在嘗試將信息從我的活動傳遞到我的片段,但我遇到了一些問題。 我按照以前用戶帖子中關於 stackoverflow 的指示執行了這些步驟。 但是我的數據沒有顯示。 有人能告訴我為什么我會遇到這個問題嗎?
這是我活動中的代碼
PennyStocksFragment fragment = new PennyStocksFragment();
Bundle bundle = new Bundle();
bundle.putString("SELECTEDSTRINGSECTOR", "something"); // Put anything what you want
fragment.setArguments(bundle);
FragmentManager fm = ((FilterActivity.this).getSupportFragmentManager());
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.fragment_container, fragment);
ft.commit();
這就是我嘗試在我的片段中檢索它的方式
String data = this.getArguments().getString("SELECTEDSTRINGSECTOR");
Log.i("tickerSymbolVar",data);
當您有一個Activity
時,此方法將起作用。 我認為您正在從另一個活動片段中獲取數據? 如果我是正確的,那么首先將 go 傳遞給該活動,然后在活動中將數據傳遞給一個片段,然后在此處獲取
像這樣簡單地將數據傳遞給片段的參數,並在構造函數的片段 class 中訪問它:
PennyStocksFragment fragment = new PennyStocksFragment("your data");
bundle.putString("SELECTEDSTRINGSECTOR", "something");
FragmentManager fm = ((FilterActivity.this).getSupportFragmentManager());
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.fragment_container, fragment);
ft.commit();
並在片段的構造函數中訪問它:
public PennyStocksFragment(String s){
String data = s;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.