java - toast 不会消失

标签 java android mobile

我编写的代码发现可以从数组值中获取标记。我在 else 条件下 toast 。当我尝试运行它时, toast 并没有消失。如果我直接按下搜索按钮,它将转到数组的第一个值。

代码如下:

btnsearch.setOnClickListener(new View.OnClickListener() {
        int duration = Toast.LENGTH_SHORT;
        @Override
        public void onClick(View view) {
            for(int i=0; i < address.length; i++) {
                if (address[i].toLowerCase().contains(editsearch.getText().toString().trim().toLowerCase())){
                    marker.remove();
                    myMap.addMarker(new MarkerOptions().position(new LatLng(lat[i],lon[i])).title(address[i]).icon(BitmapDescriptorFactory.fromResource(R.drawable.marker)));
                    CameraPosition campos = new CameraPosition.Builder()
                            .target(new LatLng(lat[i],lon[i]))
                            .zoom(18)
                            .build();
                    CameraUpdate camUpd3 = CameraUpdateFactory.newCameraPosition(campos);
                    myMap.animateCamera(camUpd3);
                    break;
                } 
            }
Toast.makeText(Myactivity.this, "Error", duration).show();
        }
    });

我试图得到错误的结果,所以我可以看到 toast 消息,但是当我输入正确的值时,它仍然处于 else 条件。

我希望在我输入错误的值时显示 toast 消息。例如,该值是一个地址数组,这些地址是“巴黎”“罗马”“阿尔伯塔”“苏黎世”。当我尝试输入悉尼时,它应该显示地址不可用。

最佳答案

发生这种情况是因为每次在 for 循环中迭代时都在 toast 。当条件为假时,每次迭代都会进入 else 部分。要解决这个问题,您只需要从 for 循环 中取出 Toast

希望对您有所帮助。

关于java - toast 不会消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45966003/

相关文章:

android - 调试服务主线程

java - viewPager 上的 RecyclerView 崩溃

android - Firebase 卡在没有互联网连接上

iphone - 我可以更改 iPhone 版 Safari 中的滚动条颜色吗?

mobile - PayPal 支付成功不回发数据,只用于手机结账

java - android.permission.RECEIVE_BOOT_COMPLETED 不会在启动时启动 Activity

Java正则表达式-如何获取字符串中括号内的所有出现次数?

java - 在类中声明时无法访问变量。在函数中声明时工作。为什么?

java - @OneToMany 双向 - 连接列插入 "null"值( hibernate )

php - 在移动设备上选择输入文本时,不将输入文本居中