0

Androidでedittext関数を使用することについて質問があります。

アプリのメインアクティビティに次のコードがあります。

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

その行では、MACアドレスを手動で編集し、毎回再コンパイルする必要があります。別のアクティビティでedittextを使用して、ユーザーが入力した値を取得し、それをMACアドレスに置き換えるにはどうすればよいですか。

2番目のアクティビティを明確にするために、ユーザー入力用の編集テキスト領域があり、次にユーザーが情報を確認するためのボタンがあります。アクティビティに実行させたいのは、ユーザーがボタンをクリックすると、MACアドレスがメインアクティビティ[上記]に送信されることです。

また、メインアクティビティには、さまざまなBluetooth信号を送信するためのさまざまなボタンが設定されています。たとえば、ボタンfwd.idは、Bluetooth経由で信号「Front」を送信します。

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

同じページ[構成の2番目のアクティビティ]で、送信される信号[この場合は「フロント」]を変更する別の編集テキストを作成できるかどうか疑問に思いました。たとえば、ユーザーがシグナルを送信したい場合は、「フロント」の代わりに8を編集テキストに入力し、上記と同じボタンをクリックしてMACアドレスを確認すると、シグナルは入力したものに変わります。

誰かが私を助けてくれたら、それは素晴らしいことです。前もって感謝します。さらに情報が必要な場合は、お知らせください。

4

2 に答える 2

0

これを実現するには、さまざまな方法があります。

  1. アドレス変数はすでに静的に宣言されています。必要なのは、パブリックに宣言することだけです。EditTextフィールドからテキストを取得し、文字列アドレスを必要な値に設定します。たとえば、メインアクティビティがMainActivityとして知られている場合、2番目のアクティビティでは次のようになります。

    MainActivity.address = newAddress // newAddress will be a string coming in from value entered in the EditText field.
    
  2. 結果として、EditTextフィールドを含む2番目のアクティビティを開始します。つまり、2番目のアクティビティが終了すると、MainActivityのonActivityResultメソッドが呼び出されます。これは、2番目のアクティビティを開始するアクティビティになるためです。

次に、EditTextからメインのアクティビティに結果を渡し、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 に答える