我必须将两个参数从片段传递到另一个片段。第一个参数是String类型,第二个参数是int类型。我想要使用bundle传递参数但不起作用。
第一片
Fragment fragment = new Fragment();
Bundle bundle = new Bundle();
bundle.putInt("totale", totalAmount);
fragment.setArguments(bundle);
第二部分
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
TextView titolo2 = (TextView) getView().findViewById(R.id.quantità2);
Bundle bundle=this.getArguments();
int myInt = bundle.getInt("totale", 0);
titolo2.setText(myInt);
return inflater.inflate(R.layout.fragment_two, container, false);
}
答案 0 :(得分:0)
在第一个片段中写下:
TwoFragment fragment = new TwoFragment ();
Bundle bundle = new Bundle();
bundle.putInt("totale", totalAmount);
fragment.setArguments(bundle);
第二个片段:
Bundle bundle=getArguments();
int myInt = bundle.getInt("totale", 0);
titolo2.setText(myInt);
答案 1 :(得分:0)
像这样改变第二片段:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View rootView = inflater.inflate(R.layout.fragment_two, container, false);
TextView titolo2 = rootView.findViewById(R.id.quantità2);
Bundle bundle=this.getArguments();
int myInt = bundle.getInt("totale", 0);
titolo2.setText(myInt + "");
return rootView;
}
答案 2 :(得分:0)
您应该将第二个片段的工作作为:
$('#HideRecord').click(function() {
if(document.getElementById('HideRecord').checked) {
$( "ul li:nth-child(1)" ).hide();
$( "ul li:nth-child(2)" ).hide();
} else {
$( "ul li:nth-child(1)" ).show();
$( "ul li:nth-child(2)" ).show();
}
});
答案 3 :(得分:0)
创建一个包含两个静态成员的公共类:
lssvm
然后从你的第一个片段中设置如下值:
public class SomeClass {
public static String stringValue="";
public static int integerValue=0;
}
您可以根据需要在第二个片段中使用这些变量:
SomeClass.stringValue="yourValue";
SomeClass.integerValue=yourIntegerValue;
答案 4 :(得分:0)
如果两个片段属于同一个活动,最好使用这种方法:
在活动中你应该保存对片段的引用,这些片段之间的所有通信都应该通过活动,我们将它命名为BaseActivity
。例如,添加到activity方法,它将params传递给第二个片段:
void updateSecondFragment(int param1, String param2){
mFragment2.updateTitle(param2);
}
在第二个片段中:
void updateTitle(String title){
mTextView.setText(title);
}
在第一个片段中:
BaseActivity mActivity;
@Override
void onAttach(Activity activity) {
if (activity instanceOf BaseActivity){
mActivity = (BaseActivity) activity;
}
}
private void updateSecondFragment(){
if (mActivity != null){
mActivity.updateSecondFragment(int param1, String param2);
}
}