Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.myapplication;
- import androidx.appcompat.app.AppCompatActivity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.TextView;
- import android.widget.Toast;
- class MySum implements Runnable {
- private TextView tv;
- MySum(TextView tv){
- this.tv = tv;
- }
- @Override
- public void run() {
- // thread가 실행이 되면
- long sum = 0;
- for(long i=0; i<1000000000L; i++){
- sum += i;
- }
- tv.setText("총합은 : " + sum);
- }
- }
- public class AnrActivity extends AppCompatActivity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_anr);
- final TextView tv = (TextView)findViewById(R.id.countTv);
- Button countBtn = (Button)findViewById(R.id.countBtn);
- Button toastBtn = (Button)findViewById(R.id.toastBtn);
- countBtn.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- // Thread를 파생시켜야 해요!!
- MySum mySum = new MySum(tv); // Runnable Interface를 구현한 객체
- Thread t = new Thread(mySum); // Thread를 생성
- t.start(); // non-blocking method, 새로운 실행흐름을 만들어 낼 수 있어요!
- }
- });
- toastBtn.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Toast.makeText(AnrActivity.this,"Toast가 실행되요!", Toast.LENGTH_SHORT).show();
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement