Professional Documents
Culture Documents
TK2323 Lecture 6 - Fragmentb
TK2323 Lecture 6 - Fragmentb
lammc@ukm.edu.my (G-02-04)
2 Why you need Fragment
MasterBeverageFragment BeverageDetailFragment
Main Activity Detail Activity
4
MasterBeverageFragment, BeverageDetailFragment
Main Activity
Create Fragment
5
MasterBeverageFragment
6
BeverageDetailFragment
7
Activity
HoldFragment
(Single Pane)
8
9
MainAcivity
10
DetailActivit
y
11
DetailActivit
y
<androidx.constraintlayout.widget.ConstraintLayout . . .
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline“ . . .
app:layout_constraintGuide_percent="0.5" />
<fragment
android:id="@+id/fragment"
android:name="com.lmc.playfragment.MasterBeverageFragment"
. . ./>
<FrameLayout
android:id="@+id/fragmentContainer“ . . .
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
Communication Between
Fragment (Single Pane)
12
MasterBeverage DetailActivity
@Override
public void onBeverageSelected(int imgFromFragment,
String nameFromFragment)
{
beverageImg = imgFromFragment;
beverageName = nameFromFragment;}
14
15
MasterBeverageFragment, BeverageDetailFragment
Main Activity
16
DetailActivit
y
<androidx.constraintlayout.widget.ConstraintLayout . . .
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline“ . . .
app:layout_constraintGuide_percent="0.5" />
<fragment
android:id="@+id/fragment"
android:name="com.lmc.playfragment.MasterBeverageFragment"
. . ./>
<FrameLayout
android:id="@+id/fragmentContainer“ . . .
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
17 Detect two pane
Communication Between
Fragment (TwoPane)
18
MasterBeverage MainActivity
beverageImg = imgFromFragment;
beverageName = nameFromFragment;
if (mTwoPane) {
FragmentManager fragmentManager = getSupportFragmentManager();
BeverageDetailFragment beverageDetailFragment = new
BeverageDetailFragment();
beverageDetailFragment.setBeverageImg(beverageImg);
beverageDetailFragment.setBeverageName(beverageName);
fragmentManager.beginTransaction()
.replace(R.id. fragmentContainer , beverageDetailFragment)
.commit();
}