2014-02-21 5 views
0

как я могу получить элементы фрагмента в своей деятельности и изменить их значения?android получить изображение из фрагмента

Привет есть этот фрагмент ...

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&amp;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> 

Основная деятельность ... (способ изменения значений)

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(); 
} 

Как может я получить текстовые изображения и изображения из этого фрагмента, чтобы установить их изображения и текст?

+0

Это макет Фрагмента, и вы должны установить его изнутри фрагмента. Любая особая причина, по которой вы хотите сделать это из своей деятельности? – Sharj

+0

У меня есть список в моей деятельности, и когда я нажимаю на один элемент, он отображает фрагмент с некоторыми данными об этом элементе. Чтобы данные были динамическими. –

ответ

1

что-то вроде этого?

((EventDetail)getActivity()).function(data); 
+0

Я думаю, что работает для фрагментации –

+0

попробуйте это, тогда http://stackoverflow.com/questions/18486952/get-id-of-textview-in-fragment-from-fragmentactivity-in-viewpager – morty346

0

Вы не должны устанавливать значения напрямую с помощью метода либо из Activity, либо из Fragment.

От деятельности к фрагменту,

  • Вы должны добавить соответствующие значения в пачке, которые вы можете отправить через setArguments(bundle), и фрагмент вы можете позже retrive эти значения с помощью

Из фрагмента до деятельности,

  • Необходимо создать интерфейс и использовать его метод для передачи значения от Fragment до Activity
Смежные вопросы