Contextual Menu Action Bar // Contextual Menu: Mactionmode Listview Contacts

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

MainActivity.

java @Override @Override


public class MainActivity extends AppCompatActivity { public boolean onCreateOptionsMenu(Menu menu) { public boolean onPrepareActionMode
// contextual menu action bar getMenuInflater().inflate(R.menu.menu_main, menu); (ActionMode mode, Menu menu) {
ActionMode mActionMode; return true; return false;
// contextual menu } }
ListView listView;
String contacts[] = {"senin" , "selasa"}; @Override @Override
public boolean onOptionsItemSelected(MenuItem item){ public boolean onActionItemClicked
@Override //Menu yang di titik tiga (ActionMode mode, MenuItem item) {
protected void onCreate(Bundle savedInstanceState) { TextView text = findViewById(R.id.textView); switch (item.getItemId()) {
super.onCreate(savedInstanceState); switch (item.getItemId()) { case R.id.context_hapus:
setContentView(R.layout.activity_main); case R.id.action_order: Toast.makeText(getApplicationContext(),"hapus",
Toolbar toolbar = findViewById(R.id.toolbar); Toast.makeText(getApplicationContext(),"order", Toast.LENGTH_SHORT).show();
setSupportActionBar(toolbar); Toast.LENGTH_SHORT).show(); mode.finish();
text.setText("order"); return true;
//contextual menu return true; default:
listView = (ListView) findViewById(R.id.listView); case R.id.action_status: return false;
ArrayAdapter<String> adapter = new ArrayAdapter<String> Toast.makeText(getApplicationContext(),"status", }
(this, android.R.layout.simple_list_item_1, contacts); Toast.LENGTH_SHORT).show(); }
listView.setAdapter(adapter); text.setText("status");
registerForContextMenu(listView); return true; @Override
case R.id.action_contact: public void onDestroyActionMode(ActionMode mode) {
// contextual menu action bar Toast.makeText(getApplicationContext(),"contact", mActionMode = null;
TextView text = findViewById(R.id.textView3); Toast.LENGTH_SHORT).show(); }
text.setOnLongClickListener(new text.setText("contact"); };
View.OnLongClickListener(){ Intent intentcontact = new Intent (this,Contact.class);
public boolean onLongClick(View view) { startActivity(intentcontact); //allert
if (mActionMode != null) { return true; public void onClickShowAlert(View view) {
return false; case R.id.action_favorite: AlertDialog.Builder myAlertBuilder = new
} Toast.makeText(getApplicationContext(),"favorite", AlertDialog.Builder(MainActivity.this);
mActionMode = view.startActionMode(mActionModeCallback); Toast.LENGTH_SHORT).show(); myAlertBuilder.setTitle("Alert");
view.setSelected(true); text.setText("favorite"); myAlertBuilder.setMessage(
return true; return true; "Click OK to continue, or Cancel to stop:");
} case R.id.action_settings: myAlertBuilder.setPositiveButton("OK", new
}); Toast.makeText(getApplicationContext(),"setting", DialogInterface.OnClickListener(){
} Toast.LENGTH_SHORT).show(); public void onClick(DialogInterface dialog, int which){
text.setText("setting"); Toast.makeText(getApplicationContext(), "Press OK",
//contextual menu return true; Toast.LENGTH_SHORT).show();
@Override default: }
public void onCreateContextMenu(ContextMenu menu,View v, } });
ContextMenu.ContextMenuInfo menuInfo) { return super.onOptionsItemSelected(item); myAlertBuilder.setNegativeButton("Cancel", new
super.onCreateContextMenu(menu, v, menuInfo); } DialogInterface.OnClickListener() {
MenuInflater inflater = getMenuInflater(); public void onClick(DialogInterface dialog, int which){
inflater.inflate(R.menu.menu_context, menu); public void onFavoritesClick(MenuItem item) { Toast.makeText(getApplicationContext(),"Press Cancel",
} //button baby Toast.LENGTH_SHORT).show();
@Override TextView text = findViewById(R.id.textView); }
public boolean onContextItemSelected(MenuItem item) { text.setText("baby"); });
switch (item.getItemId()) { Toast.makeText(getApplicationContext(),"baby", myAlertBuilder.show();
case R.id.context_edit: Toast.LENGTH_SHORT).show(); }
Toast.makeText(getApplicationContext(),"diedit", }
Toast.LENGTH_SHORT).show(); //datePicker
return true; //contextual menu action bar public void showDatePicker(View view) {
case R.id.context_share: private ActionMode.Callback mActionModeCallback = DialogFragment newFragment = new DatePickerFragment();
Toast.makeText(getApplicationContext(),"dishare", new ActionMode.Callback() { newFragment.show(getSupportFragmentManager(),
Toast.LENGTH_SHORT).show(); "datePicker");
return true; @Override }
default: public boolean onCreateActionMode
return super.onContextItemSelected(item); (ActionMode mode, Menu menu) {
} MenuInflater inflater = mode.getMenuInflater();
} inflater.inflate(R.menu.menu_context, menu);
return true;
}
@NonNull
public void processDatePickerResult @Override
(int year, int month, int day) { public Dialog onCreateDialog(Bundle
String month_string = Integer.toString(month+1); savedInstanceState){
String day_string = Integer.toString(day); final Calendar c = Calendar.getInstance();
String year_string = Integer.toString(year); int hour = c.get(Calendar.HOUR_OF_DAY);
String dateMessage = int minute = c.get(Calendar.MINUTE);
(month_string + "/" + day_string + "/" + year_string); return new TimePickerDialog
Toast.makeText(this, "Date: " + dateMessage, (getActivity(), this, hour, minute,
Toast.LENGTH_SHORT).show(); DateFormat.is24HourFormat(getActivity()));
} }
}
public void showTimePicker(View view) {
DialogFragment newFragment = new TimePickerFragment();
newFragment.show(getSupportFragmentManager(),
"timePicker");
}

public void processTimePickerResult


(int hour, int minute) {
String hour_string = Integer.toString(hour);
String minute_string = Integer.toString(minute);
String TimeMessage =(hour_string+":"+minute_string);
Toast.makeText(this, "Time: " + dateMessage,
Toast.LENGTH_SHORT).show(); DatePickerFragment.java
}
} public class DatePickerFragment extends DialogFragment
implements DatePickerDialog.OnDateSetListener {

public DatePickerFragment() {}

public void onDateSet


(DatePicker datePicker, int year, int month, int day){
MainActivity activity = (MainActivity) getActivity();
activity.processDatePickerResult(year, month, day); <?xml version="1.0" encoding="utf-8"?>
} <androidx.coordinatorlayout.widget.CoordinatorLayout
@NonNull xmlns:android="http://schemas.android.com/apk
@Override /res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
public Dialog onCreateDialog(Bundle xmlns:tools="http://schemas.android.com/tools"
savedInstanceState){ android:layout_width="match_parent"
final Calendar c = Calendar.getInstance(); android:layout_height="match_parent"
int year = c.get(Calendar.YEAR); tools:context=".MainActivity">
int month = c.get(Calendar.MONTH); <com.google.android.material.appbar.AppBarLayout
int day = c.get(Calendar.DAY_OF_MONTH); android:layout_width="match_parent"
return new DatePickerDialog android:layout_height="wrap_content"
(getActivity(), this, year, month, day); android:theme="@style/AppTheme.AppBarOverlay">
} <androidx.appcompat.widget.Toolbar
} android:id="@+id/toolbar"
android:layout_width="match_parent"
TimePickerFragment.java android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
public class TimePickerFragment extends DialogFragment app:popupTheme="@style/AppTheme.PopupOverlay" />
implements TimePickerDialog.OnTimeSetListener {
</com.google.android.material.appbar.AppBarLayout>
public TimePickerFragment() {} <include layout="@layout/content_main" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
public void onTimeSet
(TimePicker timePicker, int hour , int minute){
MainActivity activity = (MainActivity) getActivity();
activity.processTimePickerResult(hour,minute);
}
"@+id/listView" />
<Button
android:id="@+id/btnAllert"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginLeft="12dp"
android:text="Allert"
android:onClick="onClickShowAlert"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf=
"@+id/textView" />
<Button
android:id="@+id/btnDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="36dp"
android:layout_marginLeft="36dp"
android:layout_marginTop="24dp"
android:onClick="showDatePicker"
<?xml version="1.0" encoding="utf-8"?>
android:text="Date"
<androidx.constraintlayout.widget.ConstraintLayout
app:layout_constraintStart_toEndOf=
xmlns:android="http://schemas.android.com/apk/
"@+id/btnAllert" <menu xmlns:android="http://schemas.android.com/apk/
res/android" res/android"
app:layout_constraintTop_toBottomOf=
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
"@+id/textView3" />
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
<Button
android:layout_width="match_parent" tools:context="com.example.myapplication.
android:id="@+id/btnTime"
android:layout_height="match_parent" MainActivity">
android:layout_width="wrap_content"
app:layout_behavior="@string/ <!-- Menu di tiga titik-->
android:layout_height="wrap_content"
appbar_scrolling_view_behavior" <item
android:layout_marginStart="36dp"
tools:context=".MainActivity" android:id="@+id/action_settings"
android:layout_marginLeft="36dp"
tools:showIn="@layout/activity_main"> android:orderInCategory="100"
android:layout_marginTop="24dp"
<TextView android:title="@string/action_settings"
android:onClick="showTimePicker"
android:id="@+id/textView" app:showAsAction="never" />
android:text="Time"
android:layout_width="60dp" <item
app:layout_constraintStart_toEndOf=
android:layout_height="16dp" android:id="@+id/action_order"
"@+id/btnDate"
android:layout_marginStart="16dp" android:orderInCategory="10"
app:layout_constraintTop_toBottomOf=
android:layout_marginLeft="16dp" android:icon="@mipmap/ic_launcher_logo"
"@+id/textView3" />
android:layout_marginTop="8dp" android:title="Order"/>
</androidx.constraintlayout.widget.ConstraintLayout>
android:text="TextView" <item
app:layout_constraintStart_toStartOf="parent" android:id="@+id/action_status"
menu_context.xml
app:layout_constraintTop_toBottomOf= android:orderInCategory="20"
<?xml version="1.0" encoding="utf-8"?>
"@+id/textView3" /> android:icon="@mipmap/ic_launcher_logo"
<menu xmlns:android="http://schemas.android.com/apk/
<ListView android:title="Status"/>
res/android">
android:id="@+id/listView" <item
<!-- contextual menu -->
android:layout_width="388dp" android:id="@+id/action_favorite"
<item
android:layout_height="109dp" android:orderInCategory="30"
android:id="@+id/context_edit"
android:layout_marginStart="8dp" android:icon="@mipmap/ic_launcher_logo"
android:title="Edit"
android:layout_marginTop="8dp" android:title="Favorite"/>
android:orderInCategory="10"/>
android:layout_marginEnd="8dp" <item
<item
app:layout_constraintEnd_toEndOf="parent" android:id="@+id/action_contact"
android:id="@+id/context_share"
app:layout_constraintHorizontal_bias="0.0" android:orderInCategory="40"
android:title="Share"
app:layout_constraintStart_toStartOf="parent" android:icon="@mipmap/ic_launcher_logo"
android:orderInCategory="20"/>
app:layout_constraintTop_toTopOf="parent" /> android:title="Contact"/>
<item
<TextView <!-- tombol bayi -->
android:id="@+id/context_hapus"
android:id="@+id/textView3" <item
android:title="hapus"
android:layout_width="384dp" android:id="@+id/action_tombol"
android:orderInCategory="20"/>
android:layout_height="323dp" android:icon="@mipmap/ic_launcher_logo"
</menu>
android:layout_marginTop="28dp" android:orderInCategory="40"
android:text="@string/articles" app:showAsAction="ifRoom"
app:layout_constraintEnd_toEndOf="parent" android:onClick="onFavoritesClick" />
app:layout_constraintStart_toStartOf="parent" </menu>
app:layout_constraintTop_toBottomOf=

You might also like