0

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

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

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

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

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

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

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

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

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

4

2 回答 2

0

可以有多种方法来实现这一点:

  1. 您的地址变量已经被声明为静态的,您需要做的就是将其声明为公共的。从 EditText 字段中获取文本并将字符串地址设置为所需值。例如,如果您的主要活动称为 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。

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

于 2013-03-10T21:22:19.877 回答
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");

希望它有帮助!

于 2013-03-10T21:39:59.043 回答