-
Notifications
You must be signed in to change notification settings - Fork 29
/
MultiStateFragment.java
83 lines (70 loc) · 3.19 KB
/
MultiStateFragment.java
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
package me.xdj.multistateview;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import me.xdj.view.MultiStateView;
/**
* Created by xdj on 16/2/5.
*/
public class MultiStateFragment extends Fragment {
private static final String TAG = MultiStateFragment.class.getSimpleName();
public static final int OTHER_STATUS = 1111;
private MultiStateView mMultiStateView;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_content, container, false);
mMultiStateView = (MultiStateView) view.findViewById(R.id.multi_state_view);
mMultiStateView.addViewForStatus(OTHER_STATUS, R.layout.view_other_status);
// mMultiStateView.addViewForStatus(BaseMultiStateView.STATE_LOADING, R.layout.msv_view_state_loading);
// mMultiStateView.addViewForStatus(BaseMultiStateView.STATE_FAIL, R.layout.msv_view_state_fail);
// mMultiStateView.addViewForStatus(BaseMultiStateView.STATE_EMPTY, R.layout.msv_view_state_empty);
mMultiStateView.getView(MultiStateView.STATE_FAIL).findViewById(R.id.retry)
.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mMultiStateView.setViewState(MultiStateView.STATE_LOADING);
mMultiStateView.setViewState(MultiStateView.STATE_EMPTY);
}
});
mMultiStateView.getView(MultiStateView.STATE_EMPTY).findViewById(R.id.retry)
.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mMultiStateView.setViewState(MultiStateView.STATE_LOADING);
mMultiStateView.setViewState(MultiStateView.STATE_CONTENT);
}
});
mMultiStateView.getView(MultiStateView.STATE_CONTENT)
.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mMultiStateView.setViewState(MultiStateView.STATE_LOADING);
mMultiStateView.setViewState(OTHER_STATUS);
}
});
mMultiStateView.setViewState(MultiStateView.STATE_LOADING);
mMultiStateView.postDelayed(new Runnable() {
@Override
public void run() {
mMultiStateView.setViewState(MultiStateView.STATE_FAIL);
}
}, 2000);
return view;
}
public static MultiStateFragment newInstance() {
return new MultiStateFragment();
}
public void refresh() {
mMultiStateView.setViewState(MultiStateView.STATE_LOADING);
mMultiStateView.postDelayed(new Runnable() {
@Override
public void run() {
mMultiStateView.setViewState(MultiStateView.STATE_FAIL);
}
}, 2000);
}
}