问题描述
如何防止由于多次单击按钮而导致应用崩溃。
这是代码:
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);
}}
});