Showing posts with label context menus example. Show all posts
Showing posts with label context menus example. Show all posts

Monday, 14 January 2013

Context Menus Example in Android

Project Structure :


 

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"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/hello_world" />

</RelativeLayout>

context_menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/view"
        android:title="View"/>
    <item
        android:id="@+id/save"
        android:title="Save"/>
    <item
        android:id="@+id/edit"
        android:title="Edit"/>
    <item
        android:id="@+id/delete"
        android:title="Delete"/>

</menu>

strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">context-menus-example</string>
    <string name="hello_world">Hello world!</string>
    <string name="menu_settings">Settings</string>

    <string-array name="name_list">
        <item>Aakash</item>
        <item>Akshay</item>
        <item>Ashwin</item>
        <item>Mahesh</item>
        <item>Mrithula</item>
        <item>Rajesh</item>
        <item>Sabari</item>
        <item>Sai</item>
        <item>Sneha</item>
        <item>Sonika</item>
        <item>Sruthi</item>
        <item>Yeshwanthi</item>
    </string-array>

</resources>

MainActivity.java


package com.rajeshvijayakumar.context_menus_example;

import android.app.ListActivity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.ArrayAdapter;
import android.widget.Toast;

public class MainActivity extends ListActivity {

    private String selectedName = "";
    private String[] nameList;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        nameList = getResources().getStringArray(R.array.name_list);

        setListAdapter(new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, nameList));

        registerForContextMenu(getListView());

    }

    public void onCreateContextMenu(ContextMenu menu, View v,
            ContextMenuInfo menuInfo) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.context_menu, menu);
    }

    public boolean onContextItemSelected(MenuItem item) {

        AdapterContextMenuInfo adapInfo = (AdapterContextMenuInfo) item
                .getMenuInfo();
        selectedName = nameList[(int) adapInfo.id];

        switch (item.getItemId()) {
        case R.id.view:
            Toast.makeText(MainActivity.this,
                    "You have pressed View Context Menu for " + selectedName,
                    Toast.LENGTH_LONG).show();
            return true;
        case R.id.save:
            Toast.makeText(MainActivity.this,
                    "You have pressed Save Context Menu for " + selectedName,
                    Toast.LENGTH_LONG).show();
            return true;
        case R.id.edit:
            Toast.makeText(MainActivity.this,
                    "You have pressed Edit Context Menu for " + selectedName,
                    Toast.LENGTH_LONG).show();
            return true;
        case R.id.delete:
            Toast.makeText(MainActivity.this,
                    "You have pressed Delete Context Menu for " + selectedName,
                    Toast.LENGTH_LONG).show();
            return true;
        }
        return false;
    }
}

AndroidManifest.xml


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.rajeshvijayakumar.context_menus_example"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="7"
        android:targetSdkVersion="16" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Output :










Source Code : Download this Example Here