2011-01-15 5 views
0

edittextのコンテンツを別の.javaファイルの通知に渡したいとします。次のようにコードの主要部分は、次のとおりです。Android渡し変数

public class HelloAndroid2 extends Activity { 

private Button b2; 
public Editable etext; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    EditText editText = (EditText)findViewById(R.id.EditText01); 
    editText.setText("name"); 
    etext = editText.getText(); 

    b2 = (Button) findViewById(R.id.Button02); 
    b2.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
     //Toast.makeText(HelloAndroid2.this, editText.getText(), Toast.LENGTH_LONG).show(); 
     Toast.makeText(HelloAndroid2.this, etext, Toast.LENGTH_LONG).show(); 

    } 
    }); 

} 

}

これは私のMyService.javaファイルにetext変数を呼び出すためのコードでなければなりません:文字列MyNotifiyText = etext。 私は何をすべきですか、または他の.javaファイルでetext変数をどのように呼び出すべきですか?

答えて

1

2つのアクティビティ間で静的変数を使用することも、MyServiceがHelloAndroid2を呼び出す場合、エクストラを使用してインテントを使用してデータを渡すこともできます。

+0

「あなたはどちらかでき2つのアクティビティ間で静的変数を使用する " - これを行う方法? – erdomester

+0

あなたのアクティビティの1つでは、静的変数を保持することができますが、Heitaraのようなモデルクラスを保つことができます。 –

0

最も簡単な方法は、すべてのデータを保持するモデルクラスを作成することです。

例:

package com.examples; 

public class DataModel { 

    public static String txt = ""; 

} 

次のようにヨは、この変数にデータを置く必要があります。

DataModel.txt = "you string"; //editText.getText(); 

そして、あなたは任意の場所からアクセスすることができます。

editText.setText(DataModel.txt); 
+0

public class DataModel { \t public static String etext; } これに問題があります。私はそれを最終的にする必要があります。 public static final String etextの後、 "空白の最終フィールドetextが初期化されていない可能性があります" コード内DataModel.etext = editText.getText();また、間違っている、私はetextを編集可能にする必要があります 今はそのパブリック静的最終編集可能なetextとして宣言されていますが、それでも同じ問題。今私は宣言から最後を削除する必要があります。 私はそれを静的にする必要があります...私は間違いを訂正すると、別のものが現れます。 – erdomester

+0

最終的なものにする必要はありません。ファイナルは定数のようなもので、一度しか初期化されず、将来変更することはできません。 – Heitara