gpt4 book ai didi

android - java.lang.NoSuchMethodError : android. app.AlertDialog$Builder

转载 作者:行者123 更新时间:2023-11-29 14:33:14 25 4
gpt4 key购买 nike

我收到了有关此特定异常的报告,这让我很困惑,但没有找到任何运气。此应用已在多种不同设备上进行了测试,但没有任何相似之处。

奇怪的是,用户第一次运行应用程序时,会创建并显示一个AlertDialog.Builder,因此AlertDialog.Building 很可能是一个真正的方法在设备上。文档还告诉我它从 API 级别 1 开始就存在。

异常是否指的是其他问题?

异常发生在运行 2.3.6 的 GT-N7000 Galaxy Note 上。

堆栈跟踪已去混淆:

java.lang.NoSuchMethodError: android.app.AlertDialog$Builder.
at com.slowchop.wifiheat.lib.heat.Filter.void showSubjectDialog(java.lang.String,java.lang.String)(SourceFile:143)
at com.slowchop.wifiheat.lib.heat.Filter.void showChangeAccessPoint()(SourceFile:128)
at com.slowchop.wifiheat.lib.heat.HeatActivity.boolean onOptionsItemSelected(com.actionbarsherlock.view.MenuItem)(SourceFile:475)
at android.support.v4.app._ActionBarSherlockTrojanHorse.boolean onMenuItemSelected(int,com.actionbarsherlock.view.MenuItem)(SourceFile:119)

涉及的方法:

private void showSubjectDialog(String title, final String filter) {
new AlertDialog.Builder(context, AlertDialog.THEME_HOLO_DARK)
.setTitle(title)
.setAdapter(subjectAdapter, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int i) {
ListItem item = (ListItem)subjectAdapter.getItem(i);
updateFilterFromAlertDialog(dialog, filter, item.id);
}
}).show();
}

第 143 行是:

    new AlertDialog.Builder(context, AlertDialog.THEME_HOLO_DARK)

还有另一个堆栈跟踪来自不同的路径,但继续以相同的方式调用 showChangeAccessPoint()。在这种情况下,关于 AlertDialog.Builder 的错误是从另一个 AlertDialog.Builder 调用的!:

java.lang.NoSuchMethodError: android.app.AlertDialog$Builder.
at com.slowchop.wifiheat.lib.heat.Filter.void showSubjectDialog(java.lang.String,java.lang.String)(SourceFile:143)
at com.slowchop.wifiheat.lib.heat.Filter.void showChangeAccessPoint()(SourceFile:128)
at com.slowchop.wifiheat.lib.heat.Filter$2.void onClick(android.content.DialogInterface,int)(SourceFile:85)
at com.android.internal.app.AlertController$AlertParams$3.onItemClick(AlertController.java:935)

最佳答案

我想我刚刚算出来了,THEME_HOLO_DARKAPI level 11 .奇怪的是,在运行 2.3.3(API 级别 10)的设备上尝试时似乎没有问题。

这里提到了一种安全使用它的方法:https://groups.google.com/forum/?fromgroups#!topic/actionbarsherlock/0yNlvDXObAo

AlertDialog.Builder builder;
try {
builder = new AlertDialog.Builder(getActivity(), R.style.Theme.Sherlock.Dialog);
} catch (NoSuchMethodError e) {
Log.e(TAG, "Older SDK, using old Builder");
builder = new AlertDialog.Builder(getActivity());
}

此外,这是代码中唯一使用 THEME_HOLO_DARK 的部分,因此它只发生在那里。我想我在那个阶段尝试了不同的主题,但不小心把它留在了那里。

关于android - java.lang.NoSuchMethodError : android. app.AlertDialog$Builder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11495376/

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