自定义视图中的片段

时间:2013-10-03 14:00:38

标签: android view android-fragments custom-attributes

我正在写View,负责捕捉图片并进行预览。 我正在使用Fragment实现它,只要我需要使用startActivityForResult()

它做了我想要的但是在捕获之后我需要在Image CustomImageView中获得此class,但我的问题是我无法获得的来自Fragment View的{​​{1}}来自Custom View

以下是代码:

CustomImageView:

public class CustomImageView extends LinearLayout {
  private LayoutInflater inflater;
  private View view;
  private CustomFragment frag;

  public CustomImageView(Context context, AttributeSet attrs) {
    super(context, attrs);
    initViews();
  }

  private void initViews(){
    inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    view = inflater.inflate(R.layout.view_imageview, this, true);

    //  Get Fragment Here . . . .
  }

}

view_imageView (CustomImageView xml):

    <?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:custom="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <fragment
        android:id="@+id/fragment"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        class="com.example.fragments.CustomFragment"
        custom:viewParameter="eg ari ra"
        tools:ignore="MissingPrefix" />

</LinearLayout>

所以我需要在Fragment中获取initViews()(正如我在上面评论过的那样),但我不知道如何。 请分享您的想法。

如果可以,请帮助我。在此先感谢

1 个答案:

答案 0 :(得分:0)

你试过......以下:

首先尝试获取FragmentManager

FragmentManager manager =((Activity context).getFragmentManager(); 或((FragmentActivity)context).getSupportFragmentManager();

Fragment fragment = manager.getFragmentById(“fragment”);