2015-04-04 47 views
0

我想知道如何停止循環發送消息。
當我按停止,消息仍然發送。
我提供了stop()方法。我怎麼能停止發送消息發送循環中點擊一個按鈕在android

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; 
} 

回答

0

修改聖功能,這

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

的問題ü沒有使用一個監聽器來檢測按下按鈕。不建議使用文本視圖改變按鈕文本!

+1

我想他已經在他的xml中聲明瞭st()。 – Kunu 2015-04-04 10:46:41

+0

@Kunu什麼?這是他用XML格式聲明的程序! – Aadi 2015-04-04 10:49:49

+0

我已經設置了onclick method st in xml for button – 2015-04-05 04:07:56

0

很有可能他在xml中設置了onClick屬性,但只有他能夠澄清這一點。

我在說,因爲我在方法st(View v)中將View看作參數。

雖然如果屬性onClick沒有在xml中設置@Audi的解決方案將是很好的。雖然相反,如果該屬性已經在xml中設置,然後 您應該檢查是否view.getId() == R.id.button然後將按鈕強制轉換到您的視圖並將其文本設置爲「已停止」。

+0

實際上按鈕效果不錯。此代碼不會給出延遲25秒發送下一條消息。我想知道如何延遲每個消息25秒,並停止發送消息點擊停止按鈕? – 2015-04-05 04:11:28