我试图将可变数据传回Fragment的包含活动,但它似乎无法正常工作。
在片段中我有:
public class MainActivityFragment extends Fragment {
public String profile_id;
OnPassIdListener onPassIdListener;
private FacebookCallback<LoginResult> mCallback = new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
...
}
onPassIdListener.passId(profile_id);
}
public void onAttach(Context context) {
super.onAttach(context);
try {
onPassIdListener = (OnPassIdListener) context;
} catch (Exception ex) {
}
}
public interface OnPassIdListener {
void passId(String id);
}
在容器活动中我有:
@Override
public void passId(String id) {
TextView textview = (TextView) findViewById(R.id.prof_id_test);
textview.setText(id);
}
然而,当调用textview.setText时,它被设置为null ...意味着该变量为空。
此外,我已经检查过变量实际上是否包含数据,然后才传递给活动,而且这样做必须与我传递它的方式有关。
有什么想法吗?提前感谢任何提示。
答案 0 :(得分:0)
您可以将附加活动称为
ContainerActivity activity = (ContainerActivity) getActivity();
然后只使用他们的方法
activity.passId("");