Android fragments 来自片段的运行活动被卡住
我在android studio中有一些代码。我想将此活动称为:Android fragments 来自片段的运行活动被卡住,android-fragments,android-activity,Android Fragments,Android Activity,我在android studio中有一些代码。我想将此活动称为: public void addConversationFragmentStartCall(ArrayList<Integer> opponents, QBRTCTypes.QBConferenceType qbConferenceType, Map<String, String> userInfo) { QBR
public void addConversationFragmentStartCall(ArrayList<Integer> opponents,
QBRTCTypes.QBConferenceType qbConferenceType, Map<String, String> userInfo) {
QBRTCSession newSessionWithOpponents = rtcClient.createNewSessionWithOpponents(opponents, qbConferenceType);
SettingsUtil.setSettingsStrategy(opponents, getDefaultSharedPrefs(), this);
Log.d("Crash", "addConversationFragmentStartCall. Set session " + newSessionWithOpponents);
initCurrentSession(newSessionWithOpponents);
ConversationFragment fragment = ConversationFragment.newInstance(opponents, "jinkal", qbConferenceType,
userInfo, StartConversetionReason.OUTCOME_CALL_MADE, getCurrentSession().getSessionID());
FragmentExecuotr.addFragment(getFragmentManager(), R.id.fragment_container, fragment,
CONVERSATION_CALL_FRAGMENT);
if (ringtonePlayer != null) {
ringtonePlayer = new RingtonePlayer(this, R.raw.beep);
}
ringtonePlayer.play(true);
}
但是被卡住了,并且出错了
java.lang.ClassCastException:com.go.pass.MainDrawerActivity不能强制转换为com.go.pass.activity.VideoCallActivity
我在片段中的代码使用
类UberTripFragment扩展了UberBaseFragment
其中,UberBaseFragment包含以下内容:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
activity = (MainDrawerActivity) getActivity();
requestQueue = Volley.newRequestQueue(activity);
}
请帮助解决此问题。称为的片段:
if (getActivity() != null)
{
((VideoCallActivity) getActivity()).addConversationFragmentStartCall(
oponent, qbConferenceType, userInfo);
callStatus = 1;
}
已连接到您的MainDrawerActivity,它必须连接到您的VideoCallActivity。那么,如何使调用公共void addConversationFragmentStartCall from my fragment?再次启动帮助请将您的片段连接到VideoCallActivity,而不是MainDrawerActivity。getActivity()返回包含片段的活动
if (getActivity() != null)
{
((VideoCallActivity) getActivity()).addConversationFragmentStartCall(
oponent, qbConferenceType, userInfo);
callStatus = 1;
}