0
私はアンドロイドスタジオにいくつかのコードを持っています。断片化した実行アクティビティ
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);
}
私はこのコードのクリックボタンでフラグメントから呼び出す:
if (getActivity() != null) {
((VideoCallActivity) getActivity()).addConversationFragmentStartCall(
oponent, qbConferenceType, userInfo);
callStatus = 1;
}
しかし、立ち往生してエラー
java.lang.ClassCastExceptionが取得:COMを私はこの活動を呼び出したいです。 going.pass.MainDrawerActivityはcom.going.pass.activity.VideoCallActivityにキャストできません
フラグメントの私のコードは、この
クラスUberTripFragmentを使用UberBaseFragment
にUberBaseFragmentで、これは含まれてい
拡張:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
activity = (MainDrawerActivity) getActivity();
requestQueue = Volley.newRequestQueue(activity);
}
この問題を解決する方法を助けてくださいと...
どうすれば私のフラグメントからpublic void addConversationFragmentStartCallを呼び出すことができますか? – user2114764
再び助けてください – user2114764
MainDrawerActivityの代わりにVideoCallActivityにフラグメントを追加してください。 getActivity()はフラグメントを含むアクティビティを返します – PrisonMike