5
İlk (pageNews) ile ikinci (pageViewFromWeb) arasındaki parçaları değiştirdikten sonra "findFragmentById", ilk (pageNews) parçacığına bir başvuru döndürüyor?FragmentLyout öğesinin yerini almak için aramadan önceki eski fragmanın findFragmentById değeri neden döndürülüyor?
düzen:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:paddingTop="10dp"
android:background="#000">
<FrameLayout
android:id="@+id/frgmCont"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000">
</FrameLayout>
</RelativeLayout>
kodu: hemen yürütmek değil, ama FragmentTransaction planlanıyor
fTrans = getSupportFragmentManager().beginTransaction();
fTrans.add(R.id.frgmCont, pageNews);
....
....
public void selectNews(String news_id) {
// Toast.makeText(this, news_id, Toast.LENGTH_SHORT).show();
fTrans = getSupportFragmentManager().beginTransaction();
fTrans.replace(R.id.frgmCont, pageViewFromWeb);
fTrans.commit();
Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.frgmCont);
...
}
Lütfen, ['FragmentTransaction'] belgelerine bakın (http://developer.android.com/reference/android/app/FragmentTransaction.html# taahhüt()). commit(), işlemi yalnızca bir süre sonra tamamlamak üzere planlar ve hemen engellemez veya başka bir şekilde çalışmaz. ['FragmentManager.executePendingTransactions()'] 'a bakabilirsiniz (http://developer.android.com/reference/android/app/FragmentManager.html#executePendingTransactions()). – JuniKim
Teşekkürler! Çalışıyor. –