我有一个关于在android中使用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地址确认,信号将变为他们输入的任何内容。
如果有人能帮助我,那就太好了。先感谢您。如果您需要更多信息,请告诉我们。
答案 0 :(得分:0)
可以通过各种方式实现这一目标:
您的地址变量已经声明为静态,您只需将其声明为public。从EditText字段获取文本,并将String地址设置为所需的值。 例如,如果您的主要活动被称为MainActivity,那么在第二个活动中您将执行以下操作:
MainActivity.address = newAddress // newAddress will be a string coming in from value entered in the EditText field.
为结果启动第二个包含EditText字段的Activity。这意味着当第二个Activity完成时,将调用MainActivity的onActivityResult方法,因为这将是将启动第二个Activity的Activity。
然后,您可以将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");
希望它有所帮助!