package kr.co.naver;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class SlotActivity extends Activity
implements OnClickListener, Runnable {
/** Called when the activity is first created. */
private TextView display;
private TextView display1;
private TextView display2;
CounterThread thread = null;
private Handler handler = null;
private boolean isStart = false;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

findViewById(R.id.button).setOnClickListener(this);
display = (TextView)findViewById(R.id.txt1);
display1 = (TextView)findViewById(R.id.txt2);
display2 = (TextView)findViewById(R.id.txt3);
handler = new Handler();
}


public void onClick(View v) {
if( isStart == true ) {
isStart = false;
((Button)v).setText( "Start ");

} else {
isStart = true;
((Button)v).setText( "Stop ");


}
if( thread == null) {
thread = new CounterThread(this);
thread.start();
Toast.makeText(this,"start", Toast.LENGTH_SHORT ).show();
}else {
thread = new CounterThread(this);
thread.stop();
Toast.makeText(this,"stop", Toast.LENGTH_SHORT ).show();
}


}

public void run() {
int n1, n2, n3;

n1 = (int)Math.round(Math.random() * 10);
n2 = (int)Math.round(Math.random() * 10);
n3 = (int)Math.round(Math.random() * 10);
display.setText("1st" +
Integer.toString(n1));
display1.setText("2nd" +
Integer.toString(n2));
display2.setText("3rd" +
Integer.toString(n3));
}

public Handler getHandler() {
return handler;
}
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

package kr.co.naver;

import android.os.Handler;

public class CounterThread extends Thread {

private SlotActivity owner;

public CounterThread( SlotActivity obj){
owner = obj;
}
public void run() {
while( true ) {
owner.getHandler().post( owner );

try {
sleep(1000);
}catch(Exception e) { }
}
}

}
////////////////////////////////////////////////////////////////////////////////////////////////////////

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<TextView
android:id="@+id/txt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="" />
<TextView
android:id="@+id/txt2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="" />
<TextView
android:id="@+id/txt3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="" />
<Button
android:id="@+id/button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#FFFFFF"
android:text="start" />

</LinearLayout>

지금은 start로 누르면 난수가 발생해서 돌아가는 것만 나옵니다

여기서 stop을 누르면 멈추게 하려는데 어떻게 해야 되나요?

 

질문전엔 그냥 질문 했다면 지금은 책도 보고 사이트도 뒤져봐서 stop대신에 interrupt도 넣어봤지만 뭐가 문젠지 모르겠어요