package com.vgrec.espressoexamples.activities;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.view.ActionMode;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import com.vgrec.espressoexamples.R;
public class ActionBarExampleActivity extends ActionBarActivity {
private TextView statusTextView;
private ActionMode actionMode;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_action_bar_example);
statusTextView = (TextView) findViewById(R.id.status);
Button toggleActionModeButton = (Button) findViewById(R.id.toggle_action_mode);
toggleActionModeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActionMode();
}
});
}
private void startActionMode() {
if (actionMode == null) {
actionMode = startSupportActionMode(actionModeCallbacks);
}
}
private ActionMode.Callback actionModeCallbacks = new ActionMode.Callback() {
@Override
public boolean onCreateActionMode(ActionMode actionMode, Menu menu) {
actionMode.getMenuInflater().inflate(R.menu.context_menu, menu);
return true;
}
@Override
public boolean onPrepareActionMode(ActionMode actionMode, Menu menu) {
return true;
}
@Override
public boolean onActionItemClicked(ActionMode actionMode, MenuItem menuItem) {
switch (menuItem.getItemId()) {
case R.id.action_one:
updateStatusText(R.string.action_mode_one);
return true;
}
return false;
}
@Override
public void onDestroyActionMode(ActionMode actionMode) {
ActionBarExampleActivity.this.actionMode = null;
}
};
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_action_bar_example, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_settings:
updateStatusText(R.string.action_settings);
break;
case R.id.action_about:
updateStatusText(R.string.action_about);
break;
}
return super.onOptionsItemSelected(item);
}
private void updateStatusText(int statusResId) {
statusTextView.setText(statusResId);
}
}