如何防止由于多次单击按钮而导致应用崩溃。
这是代码:
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);
}
});
答案 0 :(得分:1)
您好,您只需要删除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>();
}
);
答案 1 :(得分:0)
我已经通过将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);
}}
});