android 中长按菜单,响应事件中想加一个Toast提示,第一个参数怎么给?

@OverridepublicbooleanonContextItemSelected(MenuItemitem){Stringstr="点击了长按菜单里面的第"+ite... @Override
public boolean onContextItemSelected(MenuItem item) {
String str = "点击了长按菜单里面的第"+item.getItemId()+"个项目";
Context context = ((LayoutInflater) item).getContext();
context = context.getApplicationContext();
Toast.makeText(context,str,Toast.LENGTH_SHORT).show();//Toast 类
return super.onContextItemSelected(item);
}

以上代码是在一个继承自Fragment的一个类中
我的处理方法是把item强转为LayoutInflater之后,getContext();这样不报错了,但是运行之后,点击对就菜单之后就崩溃了
展开
 我来答
百度网友84ef749b56
2014-04-11 · TA获得超过291个赞
知道小有建树答主
回答量:204
采纳率:0%
帮助的人:205万
展开全部
建议将ApplicationContext做一个全局变量。或者直接使用对应的Activity的this做为Context
追问
又是你哈,先谢谢了
我添加了一个Context类型的成员变量,把之前的点击事件中获得的context给成员变量
在长按菜单中使用这个值,这样有一个不好的地方就是必须先触发一个点击事件,使成员变量有值,然后点击长按菜单没有问题,但是如果在操作长按菜单之前没有操作点击事件那么崩溃,因为成员变量还没有值;
如果用activity.this那种方式吧,我不知道怎么用,在一个继承自Fragment的一个类中的
追答
Fragment中有一个接口叫getActivity(),获取到的这个对象就可以作为Context。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式