【发布时间】:2014-01-22 23:08:38
【问题描述】:
我已经覆盖了 onSavedInstanceState 并删除了 super,我没有做任何事务,更不用说 volatile 函数或异步函数中的事务了。
我在自定义回调“onUserExistsListener”中调用它
@Override
public Boolean userExists(Boolean exists) {
if (exists) {
}
else
{
AlertDialogFragment Frag = AlertDialogFragment.newInstance(0, null);
Frag.show(getSupportFragmentManager(), "warndialog");
}
};
已尝试其他 SO 问题中建议的所有方法,但仍未找到解决方案?有人吗?
代码:
AlertDialogFragment Frag = AlertDialogFragment.newInstance(0, null);
Frag.show(getSupportFragmentManager(), "warndialog");
过程:
OnCreate:(LoadNames 函数)
LoadNames 回调 -> 显示对话框。
进一步:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
add_name_to_db();
}
功能:
public void add_name_to_db() {
Details.checkNameExists(user_txt.getText().toString());
Details.setOnUserExistsListener(new onUserExistsListener() {
@Override
public Boolean userExists(Boolean exists) {
if (exists)
{
} else {
runOnUiThread(new Runnable() {
@Override
public void run() {
AlertDialogFragment Frag = AlertDialogFragment.newInstance(0, null);
Frag.show(getSupportFragmentManager(), "warndialog");
}
});
}
} else {
Toast.makeText(getApplicationContext(), "This is not a valid KIK username",
Toast.LENGTH_SHORT).show();
}
return exists;
}
});
}
【问题讨论】:
-
您能否再澄清一下您的问题?
-
你不是在调用 super.onCreate() 吗?你必须这样做。
-
问题不是很清楚,你应该显示你在哪里打电话
onUserExistsListener。此外,您不需要覆盖onSavedInstanceState。也许这篇博文可以帮助你更好地理解为什么会出现这个异常以及如何避免它 -> androiddesignpatterns.com/2013/08/… -
@rubenlop88 代码已添加!它一定与回调有关,我只是不知道为什么。
-
您是否在日志中获得堆栈跟踪,是否崩溃?如果是这样,请修改您的问题... :)