4 回答

TA貢獻1799條經驗 獲得超8個贊
在代碼中,替換時將創建新片段。
TaskAssignFragment taskAssignFragment = new TaskAssignFragment();
taskAssignFragment.setArguments(bundle);
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new TaskAssignFragment()).addToBackStack(null).commit();
使用已在其中設置參數的已創建的片段實例
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
taskAssignFragment).addToBackStack(null).commit();

TA貢獻1842條經驗 獲得超22個贊
您正在創建新對象,同時替換片段。
TaskAssignFragment taskAssignFragment = new TaskAssignFragment();
taskAssignFragment.setArguments(bundle);
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
taskAssignFragment).addToBackStack(null).commit();
試試這個

TA貢獻1887條經驗 獲得超5個贊
tagsView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Bundle bundle = new Bundle();
TextView textView = (TextView) view.findViewById(R.id.tagName);
String selectedItemName = textView.getText().toString();
bundle.putString("tagName", selectedItemName);
TaskAssignFragment taskAssignFragment = new TaskAssignFragment();
taskAssignFragment.setArguments(bundle);
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.commit();
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
taskAssignFragment).addToBackStack(null).commit();
Log.i("ListView", selectedItemName);
}
});
請嘗試此代碼,創建一個新的 TaskAssignFragment() 實例,并在沒有參數的情況下傳遞它

TA貢獻1880條經驗 獲得超4個贊
您可以直接在片段上調用方法,例如:
TaskAssignFragment taskAssignFragment = new TaskAssignFragment();
// Call here your own method (from fragment)
taskAssignFragment.setSelectedItemName(selectedItemName);
在你的片段中:
public void setSelectedItemName(String selectedItemName) {
// Store data as field in class
this.selectedName = selectedItemName
}
其中 是類中的字段。selectedName
添加回答
舉報