0% found this document useful (0 votes)
65 views4 pages

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

This Java code defines a MainActivity class that extends AppCompatActivity. It implements various callback methods for contextual menus, action bars, options menus, and dialogs. The activity displays a listview, handles item selections, and launches other activities or dialogs in response to user input.

Uploaded by

Rachel Caroline
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
65 views4 pages

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

This Java code defines a MainActivity class that extends AppCompatActivity. It implements various callback methods for contextual menus, action bars, options menus, and dialogs. The activity displays a listview, handles item selections, and launches other activities or dialogs in response to user input.

Uploaded by

Rachel Caroline
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 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