簡體   English   中英

為什么我的數據在嘗試將其從我的活動傳遞到片段時顯示為 null?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM