2012-01-01 12 views
0

これは私がしたいことです。ユーザがゲームを開始すると、彼は選択肢のあるいくつかのカテゴリのダッシュボード画面に移動します。いずれかのカテゴリをクリックすると、アクティビティBでどのカテゴリボタンが選択されたかを知る必要がある単一のアクティビティが表示されます。setActivityForresultのデータを取得する方法

public void onGeneralKnowledgeClick(View v) { 
    createIntent("GENERAL_KNOWLEDGE", 1); 

} 
    ........ 
    ........ 
    ........ 
public void onCelebritiesClick(View v) { 
    createIntent("CELEBRITIES", 6); 
} 

private void createIntent(String category, int result) { 
    Bundle bundle = new Bundle(); 
    bundle.putInt(category, result); 
    Intent intent = new Intent(this.getApplicationContext(), 
      QuestionActivity.class); 
    intent.putExtras(bundle); 
    startActivityForResult(intent, 0); 
} 

さて、私のQuestionActivityクラスで、私が開始された目的に関連したcategoryNumberを取得しようとする方法があります。 だから、DashboardActivityに、私はこのコードを持っています。だから、私はこのようなものを持っている:

private int getCategory() { 
    Bundle bundle = this.getIntent().getExtras(); 
     int categ = bundle.getInt("GENERAL_KNOWLEDGE"); 
    return categ; 

} 

私の問題は、そので、私は、このような、私はここにアップしたようhardcordingない整数のカテゴリを返しますか。このメソッドはそれぞれのバンドルから整数を返すようにします。私の考えは、getCategory内にswitch文を入れることですが、どのcase値を使うのか分かりません。また、私は誰かがonActivityResultが使用できると言っているのを見ましたが、私はどのように見えません。

助けてください!

答えて

0

私はあなたが少し混乱していると信じています。あなたは、単に実行する必要があります。

bundle.putInt("CATEGORY", result); //where result == the categoryId and "CATEGORY" is always "CATEGORY" 

次に、あなたのgetCategory()に:

int categ = bundle.getInt("CATEGORY") //you'll get the int value that you fed before 

私が誤解していない限り。

+0

助けてくれてありがとうdmon、それは私のために働いた。あなたも正しい、私はちょっと混乱していた、私は今気分が良くなっている:D – Hussein

関連する問題