gpt4 book ai didi

java - 在 info.targetView 上获取 null 异常

转载 作者:太空宇宙 更新时间:2023-11-04 13:46:23 25 4
gpt4 key购买 nike

我目前正在尝试制作一个上下文菜单。我希望我的上下文菜单能够从生成菜单的 View 中捕获文本。这是我正在使用的代码:

@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
AdapterView.AdapterContextMenuInfo info =
(AdapterView.AdapterContextMenuInfo) menuInfo;
selectedOption = ((TextView) info.targetView).getText().toString();
menu.setHeaderTitle(selectedOption);
}

执行应用程序时,出现以下错误:

Caused by: java.lang.NullPointerException: Attempt to read from field 'android.view.View android.widget.AdapterView$AdapterContextMenuInfo.targetView' on a null object reference
at com.conversions.rolando.conversions.MainActivity.onCreateContextMenu(MainActivity.java:172)

...指向:selectedOption = ((TextView) info.targetView).getText().toString();

所以这个错误基本上意味着“info”为空,因为“menuInfo”也为空?我试图通过阅读来理解原因:What is a NullPointerException, and how do I fix it?但似乎找不到解决方案,或者理解问题。

这就是我调用registerForContextMenu()的方式:

public void onButtonClickEvent(View sender)
{
registerForContextMenu(sender);
openContextMenu(sender);
unregisterForContextMenu(sender);
}

此方法由我的 main.xml 中的 TextView 调用

谢谢!

最佳答案

参数 menuInfo 始终由 android 传递 null,这可能是因为您应该调用某个 registerForContextMenu() 方法,解释 here

关于java - 在 info.targetView 上获取 null 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30792804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com