0

onCreate() 状態で onClickListener を作成しました。プログラムが実行されると、onResume() 状態になります。onResume() 状態で onClickListener を呼び出すと、どのように動作するのでしょうか?

州の間に区別があるべきではありません:

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button myButton= (Button) findViewById(R.id.button1);
        myButton.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                TextView tv= (TextView) findViewById(R.id.textView1);
                tv.setText("CIAO 1");
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}
4

1 に答える 1

3

にいるときはonCreate()、ボタンのonClickイベントを匿名クラスに登録していますView.OnClickListener()

このクラスにはonClick()、ボタン クリック イベントの発生を待機するメソッド ( ) があります。

ここで、特定のイベントが発生したときにタスクを実行するように人に依頼したと想像してください。

この場合、ボタンのクリックが発生したときに「 View.OnClickListener()」の人にタスク「onClick() 」を実行するように依頼しました。

onResume() にいて、ユーザーがそのボタンを押しても、「人」はイベントについて通知され、タスク、つまり「onClick()」を実行します。

したがって、ボタンを onClickListener に登録すると、onCreate または onResume のどちらにいるかは問題になりません。

于 2013-06-11T19:14:47.413 に答える