android一键共享另一个java使用

时间:2014-09-30 03:12:53

标签: android button bluetooth

如果我想设计一个所有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?

2 个答案:

答案 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

}