0

好吧所以我想喲傳遞任何文件從文件管理器(活動)的片段。這裏是我的代碼:傳遞文件從活動到片段使用包

   Bundle bundle = new Bundle(); 
        bundle.putString ("File", chosenFile); 
        Intent intent = new Intent (getApplicationContext(), UploadFragment.class); 
        intent.putExtras (bundle); 
        startActivity (new Intent (FileExplore.this, UploadFragment.class)); 

該應用程序在Logcat中崩潰是狀態無法找到顯式活動類。然後它給了我發生代碼錯誤的行,這是startActivity(新的意圖(.....)。是錯誤,因爲我沒有正確地將活動發送到片段的意圖?

在片段我有以下代碼button.setOnclickListener()下。

Intent intent = new Intent (getActivity(), FileExplore.class); 
      startActivity (intent); 

回答

0

首先你不能創建片段或使用意向將數據發送給它的。

你可以把一個片段裏面,你活動打電話: getFragmentManager().beginTransaciton().add(R.id.id_of_container, new UploadFragment(), false).commit();

如果你想從活動數據傳遞到片段您使用setArgument()方法做它片斷創建,例如:

Bundle bundle = new Bundle(); 
bundle.putString ("File", chosenFile); 

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

getFragmentManager().beginTransaction().add(R.id.fragment_container, fragment).commit(); 
+0

唉唉!我看到讓我測試一下,謝謝一堆! – user3900101 2014-10-26 22:27:29

+0

我得到一個錯誤說.add()不能被應用於一個實際的參數。 – user3900101 2014-10-27 11:06:45

+0

對不起,我的壞添加方法沒有布爾作爲第三個參數,我已經更新了我的答案 – Hellboy 2014-10-27 11:32:38

相關問題