Android сообщение между двумя действиями проблема - PullRequest
0 голосов
/ 17 августа 2011

У меня есть следующий код в одном действии:

        in= new Intent(ThisActivity.this,AnotherActivity.class);
        imgarr = new ImageView[55];

        imgarr[0]=(ImageView) findViewById(R.id.species3);
        imgarr[0].setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                b.putString("specno",Integer.toString(0)); in.putExtras(b);
                in.setClassName("com.DuckHuntersJournal","com.DuckHuntersJournal._1_TagKillActivity");
                startActivity(in);
            }
        });

И этот код в другом:

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.menu1tagkill);

        if ((savedInstanceState != null) && savedInstanceState.containsKey("specno")) {
        Log.e(tag, "intent from species not null");
        species.setText(savedInstanceState.getString("specno"));
    }

Тем не менее, saveInstanceState имеет значение null.
Почему я не получаю данные от первого действия?

Ответы [ 2 ]

3 голосов
/ 17 августа 2011

Вам нужно использовать:

   getIntent().getExtras().getString("specno");

, чтобы получить пропущенную строку из первого действия.

РЕДАКТИРОВАТЬ: Я не уверен, что выпытаемся сделать ... для получения данных от другого Activity, который запустил текущий, вам нужно использовать getIntent().getExtras().

Для сохранения вашей текущей статистики, когда Activity переходит в фоновый режим, вы сохраняетеданные в методе onSaveInstanceState(), а затем в методе onCreate(Bundle savedInstance) сохраняются данные из параметра savedInstance.

1 голос
/ 17 августа 2011

Вам нужно будет сделать следующее при получении:

String species = getIntent().getStringExtra("specno");
...