2012-01-01 4 views
0

Это то, что я хочу сделать. Когда пользователь запускает игру, его переводят на экран панели управления с несколькими категориями, которые, как он полагает, выбирают. При нажатии любой из категорий один приводит к одному действию, где мне нужно знать, как найти, какую кнопку категории выбрали в ActivityB. Так, в DashboardActivity, у меня есть этот код:Как получитьОбновить данные на 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, связанный с намерением, что было начато. Таким образом, у меня есть что-то вроде этого:

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

} 

Моя проблема заключается в том, что, как я возвратить целую категорию такое и не hardcording, как я сделал здесь. Я хочу, чтобы этот метод возвращал целое число из соответствующего пакета. моя идея состоит в том, чтобы иметь инструкцию switch внутри getCategory, но я не знаю, какое значение для использования. Кроме того, я заметил, что кто-то говорит, что 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

Смежные вопросы