Reputation: 293
how can I get elements of the fragment in my activity and change their values?
Hi have this fragment...
public class EventDetail extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.event_detail, container, false);
return v;
}
}
fragment_layout...
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/bg"
android:orientation="vertical" >
<ImageView
android:id="@+id/imgEventCover"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:adjustViewBounds="true"
android:src="@drawable/imagemapoio2" />
<TextView
android:id="@+id/txtEventDetail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/txtEventInfo"
android:layout_centerVertical="true"
android:text="LXFACTORY | 2km"
android:textColor="@android:color/black" />
<TextView
android:id="@+id/txtEventInfo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/txtEventDetail"
android:layout_centerHorizontal="true"
android:text="Playground present Drum&Bass in the Factory"
android:textColor="@color/dk" />
<ImageView
android:id="@+id/imgTiming"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_below="@+id/txtEventTime"
android:layout_centerHorizontal="true"
android:layout_marginTop="25dp"
android:src="@drawable/yellowtiming" />
<TextView
android:id="@+id/txtEventTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/txtEventDetail"
android:layout_below="@+id/txtEventInfo"
android:layout_marginTop="5dp"
android:text="22.00H - 04.30H"
android:textColor="@color/dk"
android:textSize="10dp" />
</RelativeLayout>
Main activity...(method to change values)
public void initializeEvent() {
Fragment fr = new EventDetail();
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fm.beginTransaction();
View v = fr.getView();
//get fragment elements.
fragmentTransaction.replace(R.id.fragment_menu, fr);
fragmentTransaction.commit();
}
How can i get the textviews and imageviews from this fragment to set their images and text?
Upvotes: 0
Views: 1562
Reputation: 2633
You shouldn't set any values directly via method either from Activity or Fragment.
From Activity to Fragment,
setArguments(bundle)
, and in fragment you can later retrive those values via getArguments()
From Fragment to Activity,
Fragment
to Activity
Upvotes: 0