2017-07-24 146 views
0

我有一個問題,當我從活動傳遞數組列表到片段...我需要看到只有listivew與複選框選擇(從arraylist id),而我看到列表視圖之前採取id和從arraylist採取後列表視圖...問題將數據從活動傳遞到片段

我顯示我的問題與圖片和代碼。

與PIC:

之前通數據後

enter image description here

通數據 enter image description here

與代碼:

Bundle bundle = new Bundle(); 
     bundle.putIntegerArrayList("oki", hm); 

     MyListFragment fragment = new MyListFragment(); 
     fragment.setArguments(bundle); 


     FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); 
     transaction.replace(R.id.container, fragment); 

     transaction.commit(); 

束代碼來獲得數據:

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     bundle = getArguments(); 
     if (bundle != null) { 

      strtext=bundle.getIntegerArrayList("oki"); 
      System.out.println("PARAM:"+strtext); 
     } 
} 

誰能幫我? 謝謝大家!

+0

從捆綁檢索數據的代碼在哪裏? – Piyush

+0

ArrayList是字符串類型或CustomType類似於模型類型數組列表? –

+0

@ManojSrivastava arraylist包含複選框的編號,以便在整數類型中進行檢查,例如 – androidiano

回答

0

請參閱本

Bundle bundle = new Bundle(); 
bundle.putStringArrayList("valuesArray", namesArray); 
namesFragment myFragment = new namesFragment(); 
myFragment.setArguments(bundle); 

和片段onCreateView方法:

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

String strtext = getArguments()。getStringArryList(「valuesArray」); 讓我崩潰的應用程序.... – androidiano

+0

哪些錯誤顯示在你的日誌? –

+0

我把嘗試catch塊字符串strtext = getArguments()。getStringArryList(「valuesArray」); 所以應用程序不會崩潰,但getArguments()不會獲取參數.....因此arraylist爲空 – androidiano

0

這是不活動之間的數據傳遞給片段的問題。問題在於片段在另一個片段上重疊。

將背景顏色白色設置爲片段的父根(每個片段將來都不會發生這種類型的問題)。

這將解決您的問題。

+0

是的,片段重疊在另一個片段.....現在我嘗試設置背景白色,因爲你建議我... – androidiano

+0

我怎麼能知道沒有看到代碼?請在此發佈您的代碼,以便每個人都可以查看。 –

+0

我創建另一個問題來解釋我的新問題? – androidiano