Android Context Menu Example
Let's see a simple example of context menu in Android.
activity_main.xml
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:paddingBottom="@dimen/activity_vertical_margin"
- android:paddingLeft="@dimen/activity_horizontal_margin"
- android:paddingRight="@dimen/activity_horizontal_margin"
- android:paddingTop="@dimen/activity_vertical_margin"
- tools:context=".MainActivity" >
-
- <ListView
- android:id="@+id/listView1"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_alignParentLeft="true"
- android:layout_alignParentTop="true"
- android:layout_marginLeft="66dp"
- android:layout_marginTop="53dp" >
- </ListView>
-
- </RelativeLayout>
MainActivity.java
- package com.abc.contextmenu;
- import android.os.Bundle;
- import android.app.Activity;
- import android.view.ContextMenu;
- import android.view.ContextMenu.ContextMenuInfo;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.View;
- import android.widget.AdapterView;
- import android.widget.ArrayAdapter;
- import android.widget.ListView;
- import android.widget.Toast;
- public class MainActivity extends Activity {
- ListView listView1;
- String contacts[]={"Ajay","Sachin","Sumit","Tarun","Yogesh"};
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- listView1=(ListView)findViewById(R.id.listView1);
- ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,contacts);
- listView1.setAdapter(adapter);
-
- registerForContextMenu(listView1);
- }
- @Override
- public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo)
- {
- super.onCreateContextMenu(menu, v, menuInfo);
- menu.setHeaderTitle("Select The Action");
- menu.add(0, v.getId(), 0, "Call");
- menu.add(0, v.getId(), 0, "SMS");
- }
- @Override
- public boolean onContextItemSelected(MenuItem item){
- if(item.getTitle()=="Call"){
- Toast.makeText(getApplicationContext(),"calling code",Toast.LENGTH_LONG).show();
- }
- else if(item.getTitle()=="SMS"){
- Toast.makeText(getApplicationContext(),"sending sms code",Toast.LENGTH_LONG).show();
- }else{
- return false;
- }
- return true;
- }
- }