SnsFragment.java
5.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
package com.dinhcv.lifelogpedometer.activity;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import com.dinhcv.lifelogpedometer.R;
import com.dinhcv.lifelogpedometer.model.structure.pojo.SnsSearchInfo;
public class SnsFragment extends Fragment implements SettingFragmentPresenter {
public enum SnsFragmentTag {
SNS_TOPIC,
SNS_SEARCH,
SNS_DETAIL,
SNS_MY_GROUP,
SNS_CREATE_GROUP;
}
private FragmentTransaction mFragmentTransaction;
private FragmentManager mFragmentManager;
private View mRootView;
private FrameLayout mSmsLayout;
private SnsTopicFragment mSnsTopicFragment;
private SnsSearchFragment mSnsSearchFragment;
private SnsDetailFragment mSnsDetailFragment;
private SnsMyGroupFragment mSnsMyGroupFragment;
public static final String SNS_TOPIC_TAG = "sns_topic";
public static final String SNS_SEARCH_TAG = "sns_search";
public static final String SNS_DETAIL_TAG = "sns_detail";
public static final String SNS_CREATE_GROUP_TAG = "sns_detail";
public SnsFragmentTag mCurrentChildSnsFragment = SnsFragmentTag.SNS_TOPIC;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle
savedInstanceState) {
// Inflate the layout for this fragment
mRootView = inflater.inflate(R.layout.fragment_sns, container, false);
mFragmentManager = getFragmentManager();
mFragmentTransaction = mFragmentManager.beginTransaction();
initView();
initData();
return mRootView;
}
/**
*/
private void initView() {
mSmsLayout = (FrameLayout) mRootView.findViewById(R.id.layout_sns);
mSnsTopicFragment = new SnsTopicFragment();
mSnsTopicFragment.setRootFragment(this);
mSnsSearchFragment = new SnsSearchFragment();
mSnsSearchFragment.setRootFragment(this);
mSnsDetailFragment = new SnsDetailFragment();
mSnsDetailFragment.setRootFragment(this);
mSnsMyGroupFragment = new SnsMyGroupFragment();
showSnsTopicFragment();
}
public void handleToolbarClick(int i) {
// with i = 0 -> home icon is clicked
if (i == 0) {
Log.i("SonLT", "Home icon clicked");
switch (mCurrentChildSnsFragment) {
case SNS_TOPIC:
break;
case SNS_SEARCH:
showSnsTopicFragment();
break;
case SNS_DETAIL:
showSnsSearchFragment();
break;
case SNS_CREATE_GROUP:
showSnsSearchFragment();
break;
case SNS_MY_GROUP:
showSnsTopicFragment();
break;
}
}
}
public void showSnsTopicFragment() {
mCurrentChildSnsFragment = SnsFragmentTag.SNS_TOPIC;
mFragmentTransaction = mFragmentManager.beginTransaction();
mFragmentTransaction.replace(mSmsLayout.getId(), mSnsTopicFragment, SNS_TOPIC_TAG);
mFragmentTransaction.commit();
}
public void showSnsSearchFragment() {
mCurrentChildSnsFragment = SnsFragmentTag.SNS_SEARCH;
mFragmentTransaction = mFragmentManager.beginTransaction();
mFragmentTransaction.replace(mSmsLayout.getId(), mSnsSearchFragment, SNS_SEARCH_TAG);
mFragmentTransaction.commit();
}
public void showSnsDetailFragment(SnsSearchInfo info) {
if (info == null) return;
mCurrentChildSnsFragment = SnsFragmentTag.SNS_DETAIL;
mSnsDetailFragment.setInitData(info);
mFragmentTransaction = mFragmentManager.beginTransaction();
mFragmentTransaction.replace(mSmsLayout.getId(), mSnsDetailFragment, SNS_DETAIL_TAG);
mFragmentTransaction.commit();
}
public void showSnsCreateGroupFragment() {
mCurrentChildSnsFragment = SnsFragmentTag.SNS_CREATE_GROUP;
mFragmentTransaction = mFragmentManager.beginTransaction();
mFragmentTransaction.replace(mSmsLayout.getId(), new SnsCreateGroupFragment(), SNS_CREATE_GROUP_TAG);
mFragmentTransaction.commit();
}
public void showSnsMyGroupFragment() {
mCurrentChildSnsFragment = SnsFragmentTag.SNS_MY_GROUP;
mFragmentTransaction = mFragmentManager.beginTransaction();
mFragmentTransaction.replace(mSmsLayout.getId(), mSnsMyGroupFragment, SNS_CREATE_GROUP_TAG);
mFragmentTransaction.commit();
}
/**
* Init data
*/
private void initData() {
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
}
/**
* Save data
*/
@Override
public void onSaveData() {
}
@Override
public void onInvalidate(boolean isInit) {
initData();
}
@Override
public void onViewStateRestored(@Nullable Bundle savedInstanceState) {
super.onViewStateRestored(savedInstanceState);
initData();
}
}