| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 
 | package com.formation.menu;
 
import android.app.Activity;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.view.View;
import android.view.View.OnLongClickListener;
import android.widget.LinearLayout;
import android.widget.Toast;
 
public class Main extends Activity implements OnLongClickListener {
    /** Called when the activity is first created. */
 
        LinearLayout view;
        int checked1000=0;
        int checked1001=0;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);      
        view = ((LinearLayout)this.findViewById(R.id.view1));
        view.setOnLongClickListener(this);
        view.setOnCreateContextMenuListener(this);
    }
 
    private void onCreateMenu(Menu menu){
        SubMenu m = menu.addSubMenu(0, 2000, 0, "Sous menu 1");
        m.add(0,1000,0,"Menu 1").setCheckable(true);
        m.add(0,1001,0,"Menu 2").setCheckable(true);
        m.setIcon(android.R.drawable.ic_menu_call);
        m.setHeaderIcon(android.R.drawable.ic_menu_agenda);
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        onCreateMenu(menu);
        return super.onCreateOptionsMenu(menu);
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch(item.getItemId()){
        case 1000:
                Toast.makeText(this,"Menu 1",1000).show();
                if (item.isChecked()) {
                                checked1000=1;
                        } else {
                                checked1000=0;
                        }
                break;
        case 1001:
                Toast.makeText(this,"Menu 2",1000).show();
                if (item.isChecked()) {
                                checked1001=1;
                        } else {
                                checked1001=0;
                        }
                break;
        }
        return super.onOptionsItemSelected(item);
    }
 
    @Override
    public boolean onPrepareOptionsMenu(Menu menu) {
        menu.findItem(2000).setTitle(""+SystemClock.elapsedRealtime());
                if (checked1000==1) {
                        menu.findItem(1000).setChecked(true);
                } else {
                        menu.findItem(1000).setChecked(false);
                }
        if (checked1001==1) {
                        menu.findItem(1001).setChecked(true);
                } else {
                        menu.findItem(1001).setChecked(false);
                }
                return super.onPrepareOptionsMenu(menu);
    }
 
        public boolean onLongClick(View v) {
                v.showContextMenu();
                return false;
        }
 
        @Override
        public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
                onCreateMenu(menu);
                super.onCreateContextMenu(menu, v, menuInfo);
        }
 
        @Override
        public boolean onContextItemSelected(MenuItem item) {
 
                switch(item.getItemId()){
        case 1000:
                Toast.makeText(this,"Context Menu 1",1000).show();
                if (item.isChecked()) {
                                checked1000=1;
                        } else {
                                checked1000=0;
                        }
                break;
        case 1001:
                Toast.makeText(this,"Context Menu 2",1000).show();
                if (item.isChecked()) {
                                checked1001=1;
                        } else {
                                checked1001=0;
                        }
                break;
        }
                return super.onContextItemSelected(item);
        }
 
} | 
Partager