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相反
标签:findViewById,触控,savedInstanceState,public,按钮,Override,id,View From: https://www.cnblogs.com/kun1790051360/p/17035048.html