2017-03-27 8 views
-4

私は4つのアクティビティを持つアプリケーション "Quiz"を作成しました。主なアクティビティは、あなたの名前のStringをEditTextから最初の質問のアクティビティに送信します。私はここで問題があります。なぜなら、この文字列をメインアクティビティから最終アクティビティにすぐに送信する方法はわかりませんが、最終アクティビティには行かないからです。主な活動からの最初の質問で2番目の質問でアクティビティに行きたい、最後に最後のアクティビティに行きたいです。 ご協力いただきありがとうございます!2番目のアクティビティに移動して別のアクティビティにデータを送信するにはどうすればよいですか?

+1

アクティビティが順番に並んでいれば、アクティビティからアクティビティまであなたの意図に沿って渡すだけです。 – tyczj

+1

「SharedPreferences」を参照するか、「Application」や「BaseActivity」のような何らかのシングルトンを使用してデータを保存してください後でそれを読んでください。 – redead

+0

静的変数を使用してこれを行うこともできます – DkThakur

答えて

0

静的フィールドを使用してデータを渡すことができます。インサイド

FinalActivity class次の変数を追加することができます:あなたが得ることができるように

public static String getName(){ 
    return NAME; 
} 

public static void setName(String name){ 
    NAME = name; 
} 
0

あなたは、Applicationクラスでここにゲッターセッターを使用することができます。

private static String NAME = ""; 

そして、次のゲッターとセッターと

あなたが望む場所からの文字列データ。これは唯一の方法ではありませんが、私はそれも簡単な方法だと思います。

public class MyApplication extends Application { 

    private String someVariable; 

    public String getSomeVariable() { 
    return someVariable; 
    } 

public void setSomeVariable(String someVariable) { 
    this.someVariable = someVariable; 
} 
} 

そうのような変数をあなたが得ることができるあなたの活動にあなたのマニフェスト

<application 
    android:name=".MyApplication" 
    android:icon="@drawable/icon" 
    android:label="@string/app_name"> 

編でこれを追加し、設定します。

/set 
((MyApplication) this.getApplication()).setSomeVariable("foo"); 

// get 
String s = ((MyApplication) this.getApplication()).getSomeVariable(); 

あなたAndroid global variable

を助けるかもしれないいくつかのURLを

あなたは共有プリファレンスを使うこともできますが、私の要件に応じて私はthあなたに

Android Shared preferences example

0

であなたはあなたの条件のためBroadcast Receiverを使用することができます。あなたがデータを送信したいから、あなたの活動には、この方法を実行します。

Intent intent = new Intent(); 
intent.setAction("fourthactivity"); 
sendBroadcast(intent); 

そして、あなたの第四の活動では、あなたの意図を受け取るbroadcast receiverします

public class IncomingReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     if (intent.getAction().equals("fourthactivity")) { 
      System.out.println("GOT THE INTENT"); 
     } 
    } 
} 

これがない場合を教えてくださいあなたのために働く場合は右クリックしてください。

0

あなたは1つのアクティビティから別のアクティビティに移動するときにSharedPreferenceを使用して、後でFinalActivity内のすべての回答をあまり複雑ではない方法で比較して、望ましい結果を達成できます。

関連する問題