-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMainActivity.java
More file actions
89 lines (78 loc) · 3.11 KB
/
Copy pathMainActivity.java
File metadata and controls
89 lines (78 loc) · 3.11 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
package com.example.menuoptions;
import java.util.HashSet;
import java.util.Set;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.DialogInterface.OnMultiChoiceClickListener;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
public class MainActivity extends Activity {
private static final int ITEM_COLORS_ID = Menu.FIRST;
private static final int ITEM_DAYS_OF_WEEK_ID = Menu.FIRST + 1;
private static final int ITEM_QUIT_ID = Menu.FIRST + 2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
//getMenuInflater().inflate(R.menu.main, menu);
//Adding Menu Items Programatically
menu.add(Menu.NONE, ITEM_COLORS_ID, Menu.NONE, R.string.colors);
menu.add(Menu.NONE, ITEM_DAYS_OF_WEEK_ID, Menu.NONE, R.string.days_of_week);
menu.add(Menu.NONE, ITEM_QUIT_ID, Menu.NONE, R.string.quit); //Is Quit Menu, a good practice for Android app??
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
//if (id == R.id.action_settings) { return true; }
if (id == ITEM_COLORS_ID) {
final String[] colors = {"Black", "Blue", "Green", "Red", "Orange", "White"};
final Set<String> favouriteColors = new HashSet<String>();
final boolean[] choices = {true, false, false, false, false, false, false};
final AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("My Favourite Colors");
builder.setMultiChoiceItems(colors, choices, new OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if(isChecked) {
favouriteColors.add(colors[which]);
} else {
favouriteColors.remove(colors[which]);
}
}
});
builder.setPositiveButton("Ok", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "So you like " + favouriteColors.toString() + ", ha?", Toast.LENGTH_LONG).show();
}
});
builder.show();
} else if (id == ITEM_DAYS_OF_WEEK_ID ) {
final String[] days = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
alertDialogBuilder.setTitle("Sample Options");
alertDialogBuilder.setItems(days, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String day = days[which];
Toast.makeText(MainActivity.this, "So you like " + day + ", ha?", Toast.LENGTH_LONG).show();
}
});
alertDialogBuilder.setNegativeButton("Cancel", null);
alertDialogBuilder.show();
} else if (id == ITEM_QUIT_ID){
finish();
}
// return super.onOptionsItemSelected(item);
return true;
}
}