一個android事件分發的簡單Demo

`## 這是MainActivity 代碼 ##
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
TextView tv;
Button btn;
private boolean flag;
private String tag;
private int i=0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    flag=false;
    btn= (Button) findViewById(R.id.btn);
    tv= (TextView) findViewById(R.id.tv);
    //這個監聽onTouch事件,返回false則事件繼續傳遞給onClick,否則onClick不生效
    btn.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            return flag;
        }
    });
    btn.setOnClickListener(this);
    tv.setOnClickListener(this);

}
public void onClick(View view) {
    switch (view.getId()) {
        case R.id.tv:
            flag=!flag;
            tag=tv.getText().toString();
            i++;
            tv.setText(tag+i);
            break;
        case R.id.btn:
            tag=btn.getText().toString();
            tv.setText("flag="+flag+tag);
            break;
    }
}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章