将视图添加到另一个片段的片段中

时间:2016-05-13 14:58:40

标签: java android

我正在尝试从片段A添加片段B中的视图,它们都属于同一个活动,但它们永远不会同时运行

我的活动:

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_subjects, container, false);
    ButterKnife.bind(this, view);

    AddButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            FragmentB.addMyView();
        }
    });

    return view;
}

片段A:

public static void addMyView(){
    final RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
    params.setMargins(0, 200, 0, 0);

    CustomView mView = new CustomView(mContext, "english", "a1", "10:12", "14:32");
    mLayout.addView(mView, params);

// CustomView is the custom view I want to add

}

片段B:

addMyView()

问题: 我知道片段无法直接与另一个片段通信,如何在调用方法<%# Convert.ToDateTime(DataBinder.Eval(Container.DataItem, "Date")).AddDays(1) %> 时告诉活动将视图永久添加到FragmentB中?

1 个答案:

答案 0 :(得分:0)

坚持一个活动生命周期

<tbody ng-init="getAll()"> <tr ng-repeat="d in names | filter:search | startFrom:(currentPage - 1 )*pageSize | limitTo: pageSize"> <td class="text-align-center" > <p class="text-center">{{ d.id_usuario }}</p> </td> <td> {{d.usuario}} </td> <td> <p class="text-center" >{{d.tipo_usuario}}</p> </td> <td> <p class="text-center" >{{d.nombre}}</p> </td> <td> <p class="text-center" >{{d.apellido}}</p> </td> <td> <p class="text-center" >{{d.cedula}}</p> </td> <td> <p class="text-center" >{{d.correo}}</p> </td> <td> <p class="text-center" >{{d.telefono}}</p> </td> <td> <p class="text-center" >{{d.estado_cliente}}</p> </td> <td> <a ng-click="readOne(d.id_usuario)" class="btn btn-primary" id={{"aElement"+d.id}} >Edit</a> <a ng-click="deleteElement(d.id_usuario)" class="btn btn-Danger">Delete</a> </td> </tr> 应在FragmentA个实例上设置一个标记(例如boolean属性)。

实例化Activity时,FragmentB应将此标志传递给创建的实例(例如,通过Activity)。然后,Bundle应决定是否添加FragmentB

永久坚持

View应设置FragmentA标记。

SharedPreferences应在FragmentB中检查此标记,并可能根据值添加onCreateView

一般建议:

解决Viewinstances值/方法之间的沟通几乎总是不好的做法。