0

我有一个关于在an​​droid中使用edittext功能的问题。使用edittext更改mac地址android蓝牙应用程序

我在我的应用程序的主要活动以下代码:

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通过蓝牙发送信号“前”:

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

我想知道,如果在同一页[对于结构的第二活性]上,我可以创建另一个的EditText来改变信号[在这种情况下'正面']正在发送。例如,如果用户想要发送信号,而不是“前”,他们会将其输入到编辑文本中,点击与上述相同的按钮以确认MAC地址,并且信号将改变为他们输入的任何内容。

如果有人可以请我帮忙,那会很棒。先谢谢你。如果您需要更多信息,请告诉我。

回答

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"); 

希望它有帮助携带的价值!

0

有可能完成这个的各种方式:

  1. 您的地址变量已经声明为static,所有你需要做的就是申报公开。从EditText字段获取文本并将字符串地址设置为所需的值。 例如,如果您的主要活动被称为MainActivity然后在第二个活动,你会做这样的事情:

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

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