最好的做法是在片段中有一个按钮,触发另一个活动的意图



在iOS Swift编码中,如果一个单元格(比如一个片段?)有一个按钮可以触发从控制器a到控制器B(意图活动)的转换,我使用委托将数据从单元格(片段)传递到控制器a(活动),然后我在控制器a上写意图。

例如,在Java中,我在片段中有一个按钮:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_profile, container, false);
AppCompatButton button = (AppCompatButton) v.findViewById(R.id.buyercenterid);
button(new View.OnClickListener() {
public void onClick(View v) {
// something like delete to pass data to Activity then write intent in activity?
}
});
return v;
}

我知道我需要写一个接口来连接片段和活动。然而,我找不到一个可行的解决方案来正确地做这件事。

您可以调用getActivity()并强制转换到您的活动实现的接口。

这个接口是activity和fragment之间的契约。然后,片段只需要调用在活动中实现的接口方法。

示例:https://stackoverflow.com/a/65117569