簡體   English   中英

android從片段獲取imageview

[英]android get imageview from 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&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();
}

我如何從此片段中獲取textviews和imageviews來設置其圖像和文本?

這樣的東西?

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

您不應該直接通過Activity或Fragment中的方法設置任何值。

從活動到片段,

  • 您應該在可通過setArguments(bundle)發送的包中添加適當的值,然后在片段中稍后可以通過getArguments()檢索這些值。

從片段到活動,

  • 您應該創建一個接口並使用其方法將Fragment的值傳遞給Activity

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM