1、匿名监听方式:
private Button btn_test = null;
btn_test = findViewById(R.id.btn_test);
btn_test.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tv_show.setText("Jimmy test.");
}
});
2、MainActivity类上实现监听接口:
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private TextView tv_show = null;
private Button btn_test = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv_show = (TextView)findViewById(R.id.tv_show);
btn_test = findViewById(R.id.btn_test);
btn_test.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (v == btn_test)
{
tv_show.setText("You are right.");
}
}
}
3、实名监听方式(针对1的):
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private TextView tv_show = null;
private Button btn_test = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv_show = (TextView)findViewById(R.id.tv_show);
btn_test = findViewById(R.id.btn_test);
btn_test.setOnClickListener(mm_jimmy_implements);
}
private final View.OnClickListener mm_jimmy_implements = new View.OnClickListener() {
@Override
public void onClick(View v) {
if (v == btn_test)
{
tv_show.setText("Good afternoon, teacher.");
}
}
};
}
4、利用xml布局文件中的onclick属性来指定:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btn_test"
android:text="Test"
android:onClick="OnTest"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
MainActivity.java中处理:
public class MainActivity extends AppCompatActivity{
private TextView tv_show = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv_show = (TextView)findViewById(R.id.tv_show);
}
//self-defined functions
public void OnTest(View view)
{
tv_show.setText("Don't let me down, please.");
}
}