public
class
MainActivity
extends
AppCompatActivity {
public
enum
Month {
JAN(
"Jan"
,
1
),
FEB(
"Feb"
,
2
),
NOV(
"Nov"
,
11
),
DEC(
"Dec"
,
12
);
private
String monthString;
private
int
monthInt;
Month(String month,
int
i) {
monthString = month;
monthInt = i;
}
public
static
int
ToInt(String Input) {
for
(Month m : values()) {
if
(m.monthString.equals(Input)) {
return
m.monthInt;
}
}
return
1
;
}
}
@BindView
(R.id.horizontal_scroll_view)
RecyclerView horizontalScrollView;
@BindView
(R.id.main_year)
TextView tvYear;
@BindView
(R.id.main_month)
TextView tvMonth;
@BindView
(R.id.main_list)
RecyclerView listMain;
private
RecyclerView.Adapter mAdapter;
private
RecyclerView.LayoutManager mLayoutManager;
private
List<String> months =
new
ArrayList();
private
List<String> years =
new
ArrayList<>();
@OnClick
(R.id.today)
public
void
onClickAdd() {
Calendar cal = Calendar.getInstance();
tvYear.setText(String.valueOf(cal.get(Calendar.YEAR)));
tvMonth.setText(
new
SimpleDateFormat(
"MMM"
, Locale.ENGLISH).format(cal.get(Calendar.MONTH)));
}
@OnClick
(R.id.main_month)
public
void
onClickMonth() {
horizontalScrollView.setAdapter(
new
SimpleStringRecyclerViewAdapter
(
new
SimpleStringRecyclerViewAdapter.OnItemClickListener() {
@Override
public
void
onItemClick(View view,
int
position, String value) {
tvMonth.setText(value);
horizontalScrollView.setVisibility(View.GONE);
}
}, months));
Animation animation =
new
AlphaAnimation(
0
,
1
);
animation.setDuration(
1000
);
horizontalScrollView.setVisibility(View.VISIBLE);
horizontalScrollView.setAnimation(animation);
}
@OnClick
(R.id.main_year)
public
void
onClickYear() {
horizontalScrollView.setAdapter(
new
SimpleStringRecyclerViewAdapter
(
new
SimpleStringRecyclerViewAdapter.OnItemClickListener() {
@Override
public
void
onItemClick(View view,
int
position, String value) {
tvYear.setText(value);
horizontalScrollView.setVisibility(View.GONE);
}
}, years));
Animation animation =
new
AlphaAnimation(
0
,
1
);
animation.setDuration(
1000
);
horizontalScrollView.setVisibility(View.VISIBLE);
horizontalScrollView.setAnimation(animation);
}
@OnClick
(R.id.memo_add)
public
void
onClickMemoAdd() {
Intent intent =
new
Intent(
this
, MemoActivity.
class
);
startActivity(intent);
}
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(
this
);
Calendar cal = Calendar.getInstance();
String dateMonth =
new
SimpleDateFormat(
"MMM"
, Locale.ENGLISH).format(cal.get(Calendar.MONTH) +
1
);
String dateYear = String.valueOf(cal.get(Calendar.YEAR));
tvMonth.setText(dateMonth);
tvYear.setText(dateYear);
mLayoutManager =
new
LinearLayoutManager(
this
);
mAdapter
=
new
MainAdapter(Integer.valueOf(tvYear.getText().toString()), Month.ToInt(tvMonth.getText().toString()));
listMain.setLayoutManager(mLayoutManager);
listMain.setAdapter(mAdapter);
String[] monthList =
new
DateFormatSymbols(Locale.ENGLISH).getShortMonths();
for
(
int
j =
0
; j <
12
; j++) {
months.add(monthList[j]);
}
for
(
int
j =
0
; j <
10
; j++) {
int
a =
2010
;
years.add(
""
+ (a + j));
}
LinearLayoutManager horizontalLayoutManager
=
new
LinearLayoutManager(
this
, LinearLayoutManager.HORIZONTAL,
false
);
horizontalScrollView.addItemDecoration(
new
DividerItemDecoration(
this
, DividerItemDecoration.HORIZONTAL));
horizontalScrollView.setLayoutManager(horizontalLayoutManager);
}
@Override
public
void
onBackPressed() {
if
(horizontalScrollView.getVisibility() == View.VISIBLE) {
horizontalScrollView.setVisibility(View.GONE);
}
else
{
super
.onBackPressed();
}
}
@Override
protected
void
onResume() {
super
.onResume();
}
}