如何解决多次单击相等按钮时,计算器应用程序崩溃,该如何解决此问题?
如何防止由于多次单击按钮而导致应用崩溃。
这是代码:
equal.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
compute();
ACTION = EQU;
result.setText(result.getText().toString() + String.valueOf(val2) + "=" + String.valueOf(val1));
// 5 + 4 = 9
info.setText(null);
}
});
解决方法
您好,您只需要删除info.settext(“ null”)
public static IWebHostBuilder CreateWebHostBuilder(string[] args)
{
return new WebHostBuilder()
.UseKestrel(opt =>
{
opt.AddServerHeader = false;
opt.Limits.MaxRequestLineSize = 16 * 1024;
})
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIIS()
.UseIISIntegration()
.UseUrls("https://localhost:44301")
.UseSerilog((context,config) =>
{
config.Enrich.FromLogContext()
.Enrich.WithExceptionDetails()
.Enrich.WithMachineName()
.WriteTo.Console()
.WriteTo.File(Path.Combine(context.HostingEnvironment.WebRootPath,"./elastic-errors.txt"),Serilog.Events.LogEventLevel.Error,rollingInterval: RollingInterval.Day)
.WriteTo.Elasticsearch(new ElasticsearchSinkOptions(new Uri(context.Configuration["ElasticConfiguration:Uri"]))
{
IndexFormat = context.Configuration["ElasticConfiguration:IndexFormat"],CustomFormatter = new ElasticsearchJsonFormatter(),AutoRegisterTemplate = true,NumberOfShards = 2,NumberOfReplicas = 1,BufferCleanPayload = (failingEvent,statuscode,exception) =>
{
dynamic e = JObject.Parse(failingEvent);
return JsonConvert.SerializeObject(new Dictionary<string,object>()
{
{ "@timestamp",e["@timestamp"] },{ "level","Error" },{ "message","Error: " + e.message },{ "messageTemplate",e.messageTemplate },{ "failingStatusCode",statuscode },{ "failingException",exception }
});
},BufferIndexDecider = (logEvent,offset) => "log-serilog-" + (new Random().Next(0,2)),}).Enrich.WithProperty("Environment",context.HostingEnvironment.EnvironmentName)
.ReadFrom.Configuration(context.Configuration);
})
.UseStartup<Startup>();
}
);
,我已经通过将if语句放在第一位来解决了我的问题
equal.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (info.getText().length() != 0) {
compute();
ACTION = EQU;
result.setText(result.getText().toString() + String.valueOf(val2) + "=" + String.valueOf(val1));
// 5 + 4 = 9
info.setText(null);
}}
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。