按钮触控
ctrl alt f将局部变量提取成全局属性


onClick属性过时,提倡使用监听器↓

在java中三种按钮的创建方式
public class MainActivity extends AppCompatActivity{
private TextView t;
public void Oncreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
t = findViewById(R.id.t);
Button b=findViewById(R.id.b);
b.setOnClickListener(new MyOnClickListener(t));//t是全局变量 文本
}
static class MyOnClickListener implements View.OnClickListener{
private final TextView t;
//构造
public MyOnClickListener(TextView t) {
this.t=t;
}
@Override
public void onClick(View view){
String a="";
t.setText(a);
}
}
}
//大类内继承了监听器
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private TextView t;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
t = findViewById(R.id.tv);
Button but=findViewById(R.id.but);
but.setOnClickListener(this);
}
@Override
public void onClick(View view) {
String a;
if(view.getId()==R.id.butt) {
a = "";
t.setText(a);
}
}
Button longb=findViewById(R.id.longb);
//匿名内部类
longb.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
return false;
}
});
}
//这里还可以使用拉姆达表达式进行简化,
//t/f
//t允许继续向父容器传达长按事件
//f相反


浙公网安备 33010602011771号