我想将值从片段A传递到片段B.
逻辑是: 在片段A.值= 10, 和片段B,从片段A接收值。 因此片段B具有相同的值= 10
现在,在片段A.i中有一个增量值按钮。 所以价值是10 我想片段B具有相同的值
如何从片段A接收值?
我无法第二次从片段A收到值 因为onStart()方法只能调用一次。
这个源代码: 片段A:
/*
* 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);
}
}
请帮帮我
答案 0 :(得分:0)
您应该在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");
}
}