有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在安卓中,点击一个按钮,我如何停止发送循环中发送的消息

我想知道如何停止循环发送消息
当我按stop时,仍会发送消息
我提供了一个stop()方法

for (i = 0; i < copy; i++) {
                new Handler().postDelayed(new Runnable() {

                    @Override
                    public void run() {
                        if(stop!=1)
                            sms.sendTextMessage(number,null,message,sentPIn,pdelint);
                    }

                }, 25000);


stop method

int stop=0;

public void st(View view){
    Button b=(Button)findViewById(R.id.button2);
    b.setText("Stopped");
    stop=1;
}

共 (2) 个答案

  1. # 1 楼答案

    他很可能在xml中设置了onClick属性,尽管只有他才能澄清这一点

    我这么说是因为我认为View是方法st(View v)中的一个参数

    不过,如果在xml@Audi中没有设置onClick属性,那么这个解决方案就很好了。相反,如果属性已在xml中设置,则 你应该检查一下view.getId() == R.id.button,然后对你的视图应用一个按钮转换,并将其文本设置为“Stopped”

  2. # 2 楼答案

    将St函数修改为

    public void st() {
         Button b = (Button) findViewById(R.id.button);
         @Override
         b.setOnClickListener(new View.OnClickListener() {
               b.setText("Stopped!");
               stop=1;
         });
    }
    

    问题是你没有使用监听器来检测按键。不建议使用文本视图更改按钮文本