使用edittext更改mac地址android蓝牙应用程序

时间:2013-03-10 21:00:33

标签: android variables android-intent bluetooth android-edittext

我有一个关于在an​​droid中使用edittext函数的问题。

我在我的应用的主要活动中有以下代码:

  private static String address = "00:00:00:00:00:00";
  //Then I have the on create below this 

在该行中,每次都必须手动编辑和重新编译MAC地址。我如何在另一个活动中使用edittext并获取用户输入的值并替换mac地址。

为了阐明第二个活动,它有一个用于用户输入的edittext区域,然后它有一个按钮供用户确认信息。我希望活动做的是当用户点击按钮时,它将MAC地址发送到主要活动[上面]。

另外,我在主要活动中设置了各种按钮来发送各种蓝牙信号。例如,按钮fwd.id通过蓝牙发送信号'Front':

  public void onClick(View v) {
    sendData("Front");

我想知道如果在同一页面[配置的第二个活动],我可以创建另一个edittext来改变发送的信号[在这种情况下'front']。例如,如果用户想要发送信号,8而不是'前',他们会将其输入到编辑文本中,单击与上面相同的按钮进行mac地址确认,信号将变为他们输入的任何内容。

如果有人能帮助我,那就太好了。先感谢您。如果您需要更多信息,请告诉我们。

2 个答案:

答案 0 :(得分:0)

可以通过各种方式实现这一目标:

  1. 您的地址变量已经声明为静态,您只需将其声明为public。从EditText字段获取文本,并将String地址设置为所需的值。 例如,如果您的主要活动被称为MainActivity,那么在第二个活动中您将执行以下操作:

    MainActivity.address = newAddress // newAddress will be a string coming in from value entered in the EditText field.
    
  2. 为结果启动第二个包含EditText字段的Activity。这意味着当第二个Activity完成时,将调用MainActivity的onActivityResult方法,因为这将是将启动第二个Activity的Activity。

  3. 然后,您可以将EditText的结果传递给主Activity,并在方法onActivityResult方法中更新String地址。

答案 1 :(得分:0)

据我所知,您可以使用intent.putExtra()方法从编辑文本中传递地址。这应该是这样的:

public void onClick(View v) {
Intent i = new Intent(CurrentActivity.this, AnotherActivity.class);
i.putExtra("macaddress", editText.getText().toString());
startActivity(i);

现在在另一个活动中,您可以将mac地址的值设置为此意图所携带的值

String address=getIntent().getExtras().getString("macaddress");

希望它有所帮助!