如果我想设计一个所有java都可以使用它的按钮而不需要在每个java中编写它, 我该怎么办?
例如: 我设计了一个Button.OnClickListener函数来搜索蓝牙设备。 但另一个java也需要使用这个Button.OnClickListener函数, 我不想在两个java上写相同的方式。
ledWrite.xml:
<Button android:id="@+id/btnScan" />
<ToggleButton android:id="@+id/tBtnWrite" />
bluetoothUtils.java
// Intent request codes
private static final int REQUEST_CONNECT_DEVICE = 1;
private Button button_scan;
button_scan = (Button)findViewById(R.id.button_scan);
button_scan.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
scanbt();
}
});
private void scanbt(){
Intent serverIntent = new Intent(this, DeviceListActivity.class);
startActivityForResult(serverIntent, REQUEST_CONNECT_DEVICE);
}
然后我设计了LedWrite.java:
private ToggleButton digitalOutBtn; //LED On/OFF
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ledwrite);
digitalOutBtn = (ToggleButton)findViewById(R.id.tBtnWrite);
digitalOutBtn.setOnClickListener(new OnClickListener()
public void onClick(View v){
if(digitalOutBtn.isChecked()){ //sendMessage("D1"); }
else{sendMessage("D0";}
}
如何在LedWrite.java中使用button_scan?
答案 0 :(得分:0)
封装BluetoothListener类?
public BluetoothListener implements OnClickListener {
@Override
public void onClick(View v) {
do something you want...
}
}
然后在两个不同的类中调用该类,例如
button.setOnClickListener(new BluetoothListener());
我最近开始学习android并且这个答案可能有一些错误,如果有的话,请告诉我,谢谢。
答案 1 :(得分:0)
如果你想按一个按钮调用一个定义的方法,那么你可以将该方法设为静态。
假设您在searchBluetooth()
中有一个名为MainActvity
的方法,并且您想从SecondActivity
调用它。
在searchBluetooth()
中定义MainActvity
,例如
public static void searchBluetooth()
从SecondActivity
喜欢,
MainActivity.searchBluetooth()
如果由于内存消耗而不想使用静态,请尝试继承。
创建一个扩展Activity类
的类CommonActivity
class CommonActivity extends Activity
{
// here define your searchBluetooth method
public void searchBluetooth()
{
// your code here
}
}
If you want to make use of it in Second Activity then
class SecondActivity extends CommonActivity
{
// here you can access `searchBluetooth()` method
}