treecode
- Forum posts: 28
Feb 23, 2014, 12:31:27 PM via Website
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
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 }
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 }
Recommended editorial content
With your consent, external content is loaded here.
By clicking on the button above, you agree that external content may be displayed to you. Personal data may be transmitted to third-party providers in the process. You can find more information about this in our Privacy Policy.