item.getMenuInfo() returns 0

  • Replies:0
treecode
  • Forum posts: 28

Feb 23, 2014, 12:31:27 PM via Website

Hi,

can someone help me ?

i`m practicing with a book and it says that i can use item.getMenuInfo(); in onContextItemSelected to get access on the view which i selected, but it returns null. The view which i registered the contextview on is a simple textview with 2 elements. why does is item.getMenuInfo(); return 0? the item itself is the correct element in my menu elements list though.

thx in advance



1package com.example.menudemo;
2
3 import com.example.menudemo.R.string;
4
5 import android.os.Bundle;
6 import android.app.Activity;
7
8 import android.view.ContextMenu;
9 import android.view.ContextMenu.ContextMenuInfo;
10 import android.view.Menu;
11 import android.view.MenuInflater;
12 import android.view.MenuItem;
13 import android.view.View;
14 import android.widget.AdapterView.AdapterContextMenuInfo;
15 import android.widget.TextView;
16 import android.widget.Toast;
17
18 public class MainActivity extends Activity
19 {
20 private MenuItem menu_cut;
21
22 @Override
23 protected void onCreate(Bundle savedInstanceState)
24 {
25 super.onCreate(savedInstanceState);
26 setContentView(R.layout.activity_main);
27
28 TextView text_view=(TextView)findViewById(R.id.textview1);
29 registerForContextMenu(text_view);
30
31 }
32
33 @Override
34 public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo)
35 {
36 MenuInflater inflater=getMenuInflater();
37 inflater.inflate(R.menu.menu_1, menu);
38
39 super.onCreateContextMenu(menu, v, menuInfo);
40 }
41
42 @Override
43 public boolean onContextItemSelected(MenuItem item)
44 {
45 //HERE: item.getMenuInfo(); returns null
46 AdapterContextMenuInfo info=(AdapterContextMenuInfo)item.getMenuInfo();
47 View kontext=info.targetView;
48
49 switch (item.getItemId())
50 {
51 case R.id.cut:
52 String text="cut selected (mit onContextItemSelected)!";
53 Toast einToast =Toast.makeText(this, text, Toast.LENGTH_SHORT);
54 einToast.show();
55 return true;
56
57 default: return super.onContextItemSelected(item);
58 }
59
60 }
61
62 }

Reply