我正在尝试从片段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中?
答案 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
。
一般建议:
解决View
与instances
值/方法之间的沟通几乎总是不好的做法。