Android 在片段之间传递值?
我想把值从片段A传递到片段B 逻辑是: 在片段A中,值=10, 和片段B,从片段A接收值。 因此片段B有一个相同的值=10 现在,在片段A中,我有一个递增值按钮。 所以这个值是10 我希望片段B具有相同的值 如何从片段A接收值 我第二次无法从片段A接收值 因为onStart()方法只能调用一次 这是源代码: 片段A:Android 在片段之间传递值?,android,android-fragments,fragment,Android,Android Fragments,Fragment,我想把值从片段A传递到片段B 逻辑是: 在片段A中,值=10, 和片段B,从片段A接收值。 因此片段B有一个相同的值=10 现在,在片段A中,我有一个递增值按钮。 所以这个值是10 我希望片段B具有相同的值 如何从片段A接收值 我第二次无法从片段A接收值 因为onStart()方法只能调用一次 这是源代码: 片段A: /* * Passing value from Lirik to Notangka * code from: developer.android.com
/*
* Passing value from Lirik to Notangka
* code from: developer.android.com
*/
Notangka notangka = (Notangka) getFragmentManager().findFragmentById(R.id.fragmentnotangka);
if (notangka != null){
Log.v("Lirik.gettingdata", "menjalankan notangka != null");
} else {
Log.v("Lirik.gettingdata", "menjalankan selain notangka != null");
Notangka newFragment = new Notangka();
Bundle args = new Bundle();
Log.v("Lirik.notangka() - Not angka", "cek kondisi nolagu "+nolagu+" \nbuku "+buku);
args.putString("nolagu", nolagu);
args.putString("buku", buku);
newFragment.setArguments(args);
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.fragmentnotangka, newFragment);
transaction.addToBackStack(null);
transaction.commit();
}
//=====================================END=FROM=PASSING=VALUE============================================
现在是片段B
@Override
public void onStart() {
super.onStart();
Bundle args = getArguments();
if (args != null){
buku = args.getString("buku");
nolagu = args.getString("nolagu");
Log.v("Notangka.onStart()","value buku "+buku+" value nolagu "+nolagu);
} else {
Log.v("Notangka.datafromLirik.onStart()", "value buku :"+buku+" value nolagu "+nolagu);
}
}
请帮助我您应该在OnCreate方法中访问附加功能 下面是一个小例子
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
boku = getArguments().getString("buku");
nolagu = getArguments().getString("nolagu");
Log.v("Notangka.onCreate()","value buku "+buku+" value nolagu "+nolagu);
}else
{
Log.v("Notangka.onCreate()","No Values are available");
}
}
既然使用的是相同的变量值,为什么不使用静态变量?如何使用??请给我举个例子或参考@Brontokpublic静态int变量名;在两个片段中使用此变量。请完成此尝试