rurtubia
5/25/2015 - 9:23 PM

Menu & MenuItems in Android Menú y MenuItems en Android

Menu & MenuItems in Android

Menú y MenuItems en Android

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

        <item android:id="@+id/CtxLstOpc1"
              android:title="OpcLista1"></item>
        <item android:id="@+id/CtxLstOpc2"
              android:title="OpcLista2"></item>

    </menu>
<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:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

    <TextView
        android:id="@+id/LblMensaje"
        android:layout_alignParentTop="true"
        android:layout_marginTop="95dp"
        android:text="TextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <ListView
        android:id="@+id/LstLista"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        >

    </ListView>
</RelativeLayout>
package com.example.randy.menues;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.app.Activity;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.MenuInflater;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;


public class MainActivity extends Activity {

    TextView lblMensaje; //texto
    ListView lstLista;  //lista

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //Obtenemos referencias de los controles
        lblMensaje = (TextView) findViewById(R.id.LblMensaje);
        lstLista = (ListView) findViewById(R.id.LstLista);

        String[] datos = new String[]
                {"Elemento1", "Elemento2", "Elemento3", "Elemento4", "Elemento5"};

        ArrayAdapter<String> adaptador =
                new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, datos);

        lstLista.setAdapter(adaptador);

        //Asociamos los menus contextuales a los controles
        registerForContextMenu(lblMensaje);
        registerForContextMenu(lstLista);

    }
        //@Override
        public boolean onCreateOptionMenu(Menu menu){
            getMenuInflater().inflate(R.menu.menu_main, menu);
            return true;
        }

        public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo){
            super.onCreateContextMenu(menu, v, menuInfo);
            MenuInflater inflater = getMenuInflater();
            inflater.inflate(R.menu.menu, menu);
        }

        public boolean onCreateItemSelected(MenuItem item){
         switch (item.getItemId()){
             case R.id.CtxLstOpc1:
                 lblMensaje.setText("Opción 1 pulsada!!");
                 return true;
             case R.id.CtxLstOpc2:
                 lblMensaje.setText("Opcion 2 pulsada!!");
                 return true;
             default:
                 return super.onContextItemSelected(item);
         }
    }
}