我想将活动的结果传递给片段,我已经制作了这段代码,但它无效。 我真的不知道为什么这段代码不起作用 - 实际上这段代码是无效的。我不知道我应该更多地编写代码。
这是发送结果的功能 -Sender活动:
public void ResultTofragment(String a, String b){
Bundle args = new Bundle();
args.putCharSequence("t1", a);
args.putCharSequence("t2", b);
Fragment currentFragment = getFragment(FRAGMENT_ONE);
if (args != null) {
currentFragment.setArguments(args);
}
}
private Fragment getFragment(int idx) {
Fragment newFragment = null;
switch (idx) {
case FRAGMENT_ONE:
newFragment = new ExpenseCashFragment();
break;
case FRAGMENT_TWO:
newFragment = new ExpenseAccountFragment();
break;
case FRAGMENT_THREE:
newFragment = new EarningCashFragment();
break;
case FRAGMENT_FOUR:
newFragment = new EarningAccountFragment();
break;
default:
Log.d(TAG, "Unhandle case");
break;
}
return newFragment;
}
这是获取片段结果的函数。 - 收件人片段:
public void getVoiceResult(){
Bundle args = getArguments();
CharSequence voiceResult01 = args.getCharSequence("t1");
CharSequence voiceResult02 = args.getCharSequence("t2");
//
cost.setText(""+voiceResult01);
explanation.setText(""+voiceResult02);
}
答案 0 :(得分:0)
使用
将您的包值放入片段中fragmentObject.setArguments(bundle);