//새로운 탭이 만들어질때 호출됨. public override Fragment GetItem(int position) { MainFragActivity fragPage = MainFragActivity.newInstance(position, _Tabs[position].Category); _Pages.Add(fragPage); return(fragPage); }
//새로운 페이지가 만들어질때 호출됨 public override void OnCreate(Bundle iSavedInstanceState) { base.OnCreate(iSavedInstanceState); _Category = Arguments.GetInt(INTENT_CATEGORY); _Position = Arguments.GetInt(INTENT_POSITION); _Instance = this; }
//----------------------------------------------------------------- //UI private void SetupLayout() { _SendButton = FindViewById <Button>(Resource.Id.dbl_sendBtn); _MsgBox = FindViewById <EditText>(Resource.Id.dbl_msgBox); _RecyclerView = FindViewById <RecyclerView>(Resource.Id.da_recyclerView1); _SendButton.Click += _SendButton_Click; MainFragActivity.RefreshUI(); //UI 새로고침 }
//새로운 페이지가 만들어질때 호출됨 public static MainFragActivity newInstance(int iPosition, int iCategory) //어댑터로부터 현재 탭의 정보를 받음. 이것을 args에 저장함. Static이라서 args를 통해 OnCreate로 전달. { var args = new Bundle(); args.PutInt(INTENT_CATEGORY, iCategory); args.PutInt(INTENT_POSITION, iPosition); var fragment = new MainFragActivity(); fragment.Arguments = args; return(fragment); }
//----------------------------------------------------------------- //리시버 //문자 전송 이후 호출됨 private void _SmsSentReceiver_SentCompleteEvent(int resultCode) { //문자 전송 성공 if (resultCode.Equals((int)Result.Ok)) { //메시지를 DB에 삽입 MessageDBManager.Get().InsertMessage(_CurDialogue.Address, _MsgBox.Text, 1, (int)TextMessage.MESSAGE_TYPE.SENT); //입력칸 비우기 _MsgBox.Text = string.Empty; //해당 대화의 모든 메시지를 DB로부터 가져와 메모리에 다시 올림. _CurDialogue = MessageDBManager.Get().RefreshLastMessage(_CurDialogue.Thread_id); //UI 업데이트 MainFragActivity.RefreshUI(); } else { //문자 전송 실패시 Toast.MakeText(this, "문자 전송에 실패하였습니다.", ToastLength.Long).Show(); //throw new Exception("문자 전송 실패시 코드 짜라"); } }