質問
どんなパスから値を一画面で以前表示順の設定ができます。
このことを考える場合:うまくいきません。最初の画面一 TextView
ボタンの活動の一 EditText
やボタンを押します。
場合はをクリックしても最初のボタンで移動次活動、ここでのユーザーをタイプしながら、何らかのテキストボックスに入力します。た場合にはプレスのボタンからの画面でその価値からのテキストボックスできる最初の活動を表示する必要がある最初の活動 TextView
.
解決
別の内1つの活動に実行されたアクションをキャプチャするには、次の3つの手順が必要です。
あなたのメインのActivityからstartActivityForResult
を使用してsubactivityとして二次活動(あなたの '編集TEXT' 活動)を起動します。
Intent i = new Intent(this,TextEntryActivity.class);
startActivityForResult(i, STATIC_INTEGER_VALUE);
subactivityの中ではなく、ユーザーがボタンをクリックしたときにだけ活動を閉じ、新しいテントを作成する必要があり、そのエキストラ・バンドルで入力されたテキスト値が含まれます。二次活動を閉鎖するsetResult
を呼び出す前に、親のコールfinish
に戻ってそれを渡します。
Intent resultIntent = new Intent();
resultIntent.putExtra(PUBLIC_STATIC_STRING_IDENTIFIER, enteredTextValue);
setResult(Activity.RESULT_OK, resultIntent);
finish();
最後のステップは、呼び出し側の活動である:テキスト入力活動からのコールバックをリッスンするonActivityResult
をオーバーライドします。あなたが表示されなければならないテキスト値を取得するために戻ったテントから余分を取得します。
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch(requestCode) {
case (STATIC_INTEGER_VALUE) : {
if (resultCode == Activity.RESULT_OK) {
String newText = data.getStringExtra(PUBLIC_STATIC_STRING_IDENTIFIER);
// TODO Update your TextView.
}
break;
}
}
}
他のヒント
あるカップルの方法によるアクセスできます変数またはオブジェクトのその他の授業や活動です。
A.データベース
B.共有の設定。
C.オブジェクト直列化します。
D.クラスで共通のデータとして提供できます。
E.データーを意図やParcelableインターフェース。
なおプロジェクトです。
A. データベース
SQLiteがオープンソースデータベースは組み込Android.SQLite対応標準のリレーショナルデータベースの特徴のようなSQL構文の取引を用意します。
チュートリアル-- http://www.vogella.com/articles/AndroidSQLite/article.html
B. 共有設定
仮納したいユーザ名です。する場合にのみ適用され現在二つのもの キー ユーザー名、 値 値とします。
保管方法
// Create object of SharedPreferences.
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
//now get Editor
SharedPreferences.Editor editor = sharedPref.edit();
//put your value
editor.putString("userName", "stackoverlow");
//commits your edits
editor.commit();
使用putString(),putBoolean(),putInt(),putFloat(),putLong()に保存できるので希望dtatype.
かにのフェッチ
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
String userName = sharedPref.getString("userName", "Not Available");
http://developer.android.com/reference/android/content/SharedPreferences.html
C. 直列化オブジェクト
オブジェクトserlizationされる場合に使用したい保存オブジェクトの状態で送信でネットワークは利用できるのでお客様の特定の目的のために。
利用java beans、店舗としての分野で使用setterか、セッターその
JavaBeansているJavaクラスとしています。思い 物件として、民間インスタンス変数.それらは個人の方 アクセスできる外部からのクラスは方法により、クラスです。の 方法に変化する物件の価値と呼ばれる設定メソッドの方法 この取得物件の価値と呼ばれるゲッター方法。
public class VariableStorage implements Serializable {
private String inString ;
public String getInString() {
return inString;
}
public void setInString(String inString) {
this.inString = inString;
}
}
設定の変数でメールの方法を用い
VariableStorage variableStorage = new VariableStorage();
variableStorage.setInString(inString);
に利用し、オブジェクトSerialzationにserializeこのオブジェクトやその他のクラスの直列化復元)このオブジェクトです。
に直列化オブジェクトとして表すこともできのバイトシーケンスのオブジェクトのデータについての情報などのオブジェクトのタイプの種類のデータに格納されたオブジェクトです。
した後、直列化されたオブジェクトが記述ファイルに保存できるファイルから読み込みおよび直列化復元の型情報を、バイト数を表すオブジェクトとそのデータを再現するオブジェクト。
したい場合はチュートリアルのためこの参照このリンク
http://javawithswaranga.blogspot.in/2011/08/serialization-in-java.html
D. CommonUtilities
できるクラスによる自己を含むことができ共通のデータで頻繁に必要にご注意願います。
サンプル
public class CommonUtilities {
public static String className = "CommonUtilities";
}
E. データーを意図
ご参照くださいこのチュートリアルはこのオプションのデータです。
あなたは持っていけないと..
ちょうど第二活性からnewIntenet()を呼び出す
Intent retData=new Intent();
タグを返すためのデータを追加します。
putExtras (retData.putExtra("userName", getUsrName()));
setResultを進める。
setResult(RESULT_OK, retData);
、その後、終了することができます。
finish();
の startActivityForResult()の
そして、ここではより多くの情報とSDKからのリンクです
http://developer.android.com/guide/appendix /faq/commontasks.html#opennewscreenする
と
「画面からの検索結果を返す」というタイトルの部分にスクロールダウン私は頻繁にそれらを設定するために、静的なsetterメソッドを呼び出し活性の静的変数を使用します。
このように、私は関係なく、様々な活動の間の制御の正確な流れの、随意に任意の活性の値を変更することができます。
あなたが気にしない場合は、このトリックにのみ使用できることに注意してください アプリケーションに同じ活性(クラス)の複数のコピーのインスタンス、 まだ私はこれを実装するのが最も簡単であることが判明し、私はほとんどそれを使用します。
ここで行うための最善の方法は、スコープ外に定義されている共通クラスに変数を置くことです。
public class Utils
{
public static String mPosition;
}
あなたのコード内の(例えばOnButtonClickなど...)
Intent intent = new Intent(Intent.ACTION_PICK,
ContactsContract.Contacts.CONTENT_URI);
Utils.mPosition = mViewData.mPosition + "";
LogHelper.e(TAG, "before intent: " + Utils.mPosition);
startActivityForResult(intent, Keys.PICK_CONTACT);
のコード内部
@Override ます。public void onActivityResult(int型requestCode、int型のresultCode、テントデータ) { もし(requestCode == Keys.PICK_CONTACT) { もし(resultCodeが== Activity.RESULT_OK) { ウリ連絡先データ= data.getData();
//you may use the variable here after intent result
LogHelper.e(TAG, "after intent: " + Utils.mPosition);
....