我刚刚看到一个对我来说没有意义的android示例代码。声明了一个按钮,实例化,但没有监听器。即使在单击按钮时调用了一个方法。
我在想,如果它被自动调用,因为该方法与按钮具有相同的名称,只需使用小写的第一个字母。这是一个Android功能,我不知道吗?我试过,我不知道如何寻找答案,所以它可能是重复的。
CODE:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
On = (Button)findViewById(R.id.button1);
Off = (Button)findViewById(R.id.button2);
Visible = (Button)findViewById(R.id.button3);
list = (Button)findViewById(R.id.button4);
lv = (ListView)findViewById(R.id.listView1);
BA = BluetoothAdapter.getDefaultAdapter();
}
public void on(View view){
if (!BA.isEnabled()) {
Intent turnOn = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(turnOn, 0);
Toast.makeText(getApplicationContext(),"Turned on"
,Toast.LENGTH_LONG).show();
}
else{
Toast.makeText(getApplicationContext(),"Already on",
Toast.LENGTH_LONG).show();
}
}
public void list(View view){
pairedDevices = BA.getBondedDevices();
ArrayList list = new ArrayList();
for(BluetoothDevice bt : pairedDevices)
list.add(bt.getName());
Toast.makeText(getApplicationContext(),"Showing Paired Devices",
Toast.LENGTH_SHORT).show();
final ArrayAdapter adapter = new ArrayAdapter
(this,android.R.layout.simple_list_item_1, list);
lv.setAdapter(adapter);
}
答案 0 :(得分:3)
还可以通过xml设置侦听器,并具有onClick
属性。
答案 1 :(得分:2)
您可以在xml中声明它,如:
android:onClick = "show"
在您的活动中使用如下:
public void show(View v){
//handle click here
}
答案 2 :(得分:0)
检查android:onClick在android按钮xml中声明了什么方法名称,当点击按钮时会调用它,在这种情况下不需要将监听器附加到按钮